关于Fragment的问题

chengkun_20156666 2015-12-25 04:49:41
请教,我用Fragment 时,都正确了,可还是不能切换页面,而且我点第一个图标,也能响应第二个图标的点击事件
代码如下:@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initListener();

// 设置默认的Fragment
setDefaultFragment();


}

private void setDefaultFragment() {
FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
mouzhequanFragment = new ContentFragment();
transaction.replace(R.id.fragment_content, mouzhequanFragment);
transaction.commit();

}


private void initView() {
ib_main_icon1 = (ImageButton) findViewById(R.id.ib_main_icon1);
ib_main_icon2 = (ImageButton) findViewById(R.id.ib_main_icon2);
ib_main_icon3 = (ImageButton) findViewById(R.id.ib_main_icon3);
ib_main_icon4 = (ImageButton) findViewById(R.id.ib_main_icon4);

}

private void initListener() {
ib_main_icon1.setOnClickListener(this);
ib_main_icon2.setOnClickListener(this);
ib_main_icon3.setOnClickListener(this);
ib_main_icon4.setOnClickListener(this);


}

@Override
public void onClick(View v) {
FragmentManager fm = getFragmentManager();
// 开启Fragment事务
FragmentTransaction transaction = fm.beginTransaction();

switch (v.getId()) {
case R.id.ib_main_icon1:

if (mouzhequanFragment == null) {
mouzhequanFragment = new ContentFragment();
}
transaction.replace(R.id.fragment_content, mouzhequanFragment);
case R.id.ib_main_icon2:
Toast.makeText(MainActivity.this,"动态",Toast.LENGTH_LONG).show();
if (dongtaiFragment == null) {
dongtaiFragment = new DongtaiFragment();
}
// 使用当前Fragment的布局替代id_content的控件
transaction.replace(R.id.fragment_content, dongtaiFragment);
break;
case R.id.ib_main_icon3:
if (xiaoxiFragment == null) {
xiaoxiFragment = new XiaoxiFragment();
}
transaction.replace(R.id.fragment_content, xiaoxiFragment);

break;
case R.id.ib_main_icon4:
if (woFragment == null) {
woFragment = new WoFragment();
}
transaction.replace(R.id.fragment_content, woFragment);
break;

default:
break;
}
transaction.addToBackStack(null);
// 事务提交

transaction.commit();

}


xml一并贴上:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<fragment
android:id="@+id/fragment_title"
android:name="com.jzhihui.mouzhe2.Fragment.TitleFragment"
android:layout_width="fill_parent"
android:layout_height="45dp" />


<fragment
android:id="@+id/fragment_content"
android:name="com.jzhihui.mouzhe2.Fragment.ContentFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/fragment_title" />

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="65dp"
android:layout_alignParentBottom="true"
android:background="#2b9ce3"
android:orientation="horizontal">

<ImageButton
android:id="@+id/ib_main_icon1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="30dp"
android:background="@drawable/icon1_selector" />

<ImageButton
android:id="@+id/ib_main_icon2"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="40dp"
android:background="@drawable/icon2_selector" />

<ImageButton
android:id="@+id/ib_main_icon3"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="40dp"
android:background="@drawable/icon3_selector" />

<ImageButton
android:id="@+id/ib_main_icon4"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="40dp"
android:background="@drawable/icon4_selector" />

</LinearLayout>


</RelativeLayout>
...全文
76 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧