public class MainActivity extends AppCompatActivity {
private LinearLayout linear_layout;
private RadioGroup radio_group;
private FragmentManager manager;
private ZiXunFragMent ziXunFragMent;
private KuaiXunFragMent kuaiXunFragMent;
private HangQingFragMent hangQingFragMent;
private WoDeFragMent woDeFragMent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
linear_layout = findViewById(R.id.linear_layout);
radio_group = findViewById(R.id.radio_group);
//获取管理者
manager = getSupportFragmentManager();
//开启事务
FragmentTransaction transaction = manager.beginTransaction();
//默认显示第一个页面
ziXunFragMent = new ZiXunFragMent();
transaction.add(R.id.linear_layout,ziXunFragMent);
transaction.commit();
radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
FragmentTransaction beginTransaction = manager.beginTransaction();
if(ziXunFragMent != null){
beginTransaction.hide(ziXunFragMent);
}
if(kuaiXunFragMent != null){
beginTransaction.hide(kuaiXunFragMent);
}
if(hangQingFragMent != null){
beginTransaction.hide(hangQingFragMent);
}
if(woDeFragMent != null){
beginTransaction.hide(woDeFragMent);
}
switch (checkedId){
case R.id.rb1:
if (ziXunFragMent == null){
beginTransaction.add(R.id.linear_layout,ziXunFragMent);
}else{
beginTransaction.show(ziXunFragMent);
}
break;
case R.id.rb2:
if (kuaiXunFragMent == null){
kuaiXunFragMent = new KuaiXunFragMent();
beginTransaction.add(R.id.linear_layout,kuaiXunFragMent);
}else{
beginTransaction.show(kuaiXunFragMent);
}
break;
case R.id.rb3:
if (hangQingFragMent == null){
hangQingFragMent = new HangQingFragMent();
beginTransaction.add(R.id.linear_layout,hangQingFragMent);
}else{
beginTransaction.show(hangQingFragMent);
}
break;
case R.id.rb4:
if (woDeFragMent == null){
woDeFragMent = new WoDeFragMent();
beginTransaction.add(R.id.linear_layout,woDeFragMent);
}else{
beginTransaction.show(woDeFragMent);
}
break;
}
beginTransaction.commit();
}
});
}
}