关于Fragment的问题
请教,我用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>