* 简单处理,底部标签切换;
* 使用某个Fragment的时候再new出来;
//获取管理器
fragmentManager = getSupportFragmentManager();
//初始化组件
drawerLayout = (DrawerLayout) findViewById(R.id.dl_chehua);
frameLayout = (FrameLayout) findViewById(R.id.fl_zhanwei);
group = (RadioGroup) findViewById(R.id.group);
//侧滑布局
linearLayout = (LinearLayout) findViewById(R.id.ll_chehua);
//侧滑布局中的图片
imageView = (ImageView) findViewById(R.id.jqr);
//封装数据
list = new ArrayList<>();
//点击机器人关闭侧滑
(也可以用普通的监听事件)
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
drawerLayout.closeDrawer(linearLayout);
}
});
//将所有Fragment添加到占位布局
//添加一个事务
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
frag1 = new frag1();
fragmentTransaction
.add(R.id.fl_zhanwei, frag1)
.commit();
//RadioGroupd点击监听
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {
hideFragments();//隐藏所有Fragment;
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
switch (i) {
case R.id.but1:
fragmentTransaction.show(frag1).commit();
break;
case R.id.but2:
if (frag2 == null) {
frag2 = new frag2();
fragmentTransaction.add(R.id.fl_zhanwei,frag2).commit();
} else {
fragmentTransaction.show(frag2).commit();
}
break;
case R.id.but3:
if (frag3 == null) {
frag3 = new frag3();
fragmentTransaction.add(R.id.fl_zhanwei, frag3).commit();
} else {
fragmentTransaction.show(frag3).commit();
}
break;
case R.id.but4:
if (frag4 == null) {
frag4 = new frag4();
fragmentTransaction.add(R.id.fl_zhanwei, frag4).commit();
} else {
fragmentTransaction.show(frag4).commit();
}
break;
}
}
});
}
//隐藏fragment的方法
public void hideFragments() {
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
if (frag1!= null && frag1.isAdded()) {
fragmentTransaction.hide(frag1);
}
if (frag2 != null && frag2.isAdded()) {
fragmentTransaction.hide(frag2);
}
if (frag3 != null &&
frag3.isAdded()) {
fragmentTransaction.hide(frag3);
}
if (frag4 != null &&
frag4.isAdded()) {
fragmentTransaction.hide(frag4);
}
fragmentTransaction.commit();
}