一、xml
<FrameLayout
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="TextView" />
<RadioGroup
android:id="@+id/radiogroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radioButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:drawableTop="@drawable/sul_button1"
android:text="@string/a" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:drawableTop="@drawable/sul_button2"
android:text="@string/b" />
<RadioButton
android:id="@+id/radioButton3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:drawableTop="@drawable/sul_button3"
android:text="@string/c" />
</RadioGroup>
二、Activity
public class Main2Activity extends AppCompatActivity {
private FrameLayout pager;
private RadioGroup group;
private ArrayList<Fragment> list;
private Fragment01 fragment01;
private Fragment02 fragment02;
private Fragment03 fragment03;
private FragmentManager manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
//初始化
pager = findViewById(R.id.pager);
group = findViewById(R.id.radiogroup);
//获取事物
manager = getSupportFragmentManager();
//开启事物
FragmentTransaction transaction = manager.beginTransaction();
//new新的界面
fragment01 = new Fragment01();
fragment02 = new Fragment02();
fragment03 = new Fragment03();
//事物添加
transaction.add(R.id.pager,fragment01);
transaction.add(R.id.pager,fragment02);
transaction.add(R.id.pager,fragment03);
//展示一个界面隐藏另外两个
transaction.show(fragment01).hide(fragment02).hide(fragment03);
//提交事物
transaction.commit();
//默认选中第一个界面
group.check(group.getChildAt(0).getId());
//点击界面
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
//开启事物
FragmentTransaction transaction1 = manager.beginTransaction();
//选择
switch (checkedId){
case R.id.radioButton:
//展示一个界面,隐藏另外两个界面
transaction1.show(fragment01).hide(fragment02).hide(fragment03);
break;
case R.id.radioButton2:
transaction1.show(fragment02).hide(fragment01).hide(fragment03);
break;
case R.id.radioButton3:
transaction1.show(fragment03).hide(fragment01).hide(fragment02);
break;
}
//提交事物
transaction1.commit();
}
});
}
}