public class MainActivity extends AppCompatActivity {
private FrameLayout fl_main;
private RadioGroup group;
private ArrayList<Fragment> fragments;
private FragmentManager supportFragmentManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fl_main = (FrameLayout) findViewById(R.id.fl_main);
group = (RadioGroup) findViewById(R.id.group);
initFragments();
supportFragmentManager = getSupportFragmentManager();
supportFragmentManager.beginTransaction().add(R.id.fl_main, fragments.get(0)).commit();
//点击按钮处理切换逻辑
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int id) {
//i 就是你点击的那个控件的id
//supportFragmentManager可以复用,Transaction不可复用,每次提交后事物就结束了;
switch (id) {
case R.id.but1:
supportFragmentManager.beginTransaction().replace(R.id.fl_main, fragments.get(0)).commit();
break;
case R.id.but2:
supportFragmentManager.beginTransaction().replace(R.id.fl_main, fragments.get(1)).commit();
break;
case R.id.but3:
supportFragmentManager.beginTransaction().replace(R.id.fl_main, fragments.get(2)).commit();
break;
case R.id.but4:
supportFragmentManager.beginTransaction().replace(R.id.fl_main, fragments.get(3)).commit();
break;
case R.id.but5:
supportFragmentManager.beginTransaction().replace(R.id.fl_main, fragments.get(4)).commit();
break;
}
}
});
}
private void initFragments() {
fragments = new ArrayList<>();
fragments.add(new Main1Fragment());
fragments.add(new Main2Fragment());
fragments.add(new Main3Fragment());
fragments.add(new Main4Fragment());
fragments.add(new Main5Fragment());
}
主页面帧布局的用法
最新推荐文章于 2022-11-13 15:52:56 发布
本文介绍了一个使用Android中Fragment进行内容切换的示例。通过RadioGroup控件来选择不同的Fragment显示在FrameLayout中,实现简单的Tab功能。示例中包含了初始化多个Fragment的方法以及如何根据RadioGroup的选择更改当前显示的Fragment。
638

被折叠的 条评论
为什么被折叠?



