protected void onCreate(Bundle savedInstanceState) {
...
// 1. 创建待添加 fragment 实例
replaceFragment(fragment1);
...
}
private void replaceFragment(Fragment fragment) {
// 2. 获取 FragmentManager
FragmentManager fragmentManager = getSupportFragmentManager();
// 3. 开启一个 事务 transaction
FragmentTransaction transaction = fragmentManager.beginTransaction();
// 4. 向容器内添加或者替换 fragment
// 参数1 容器id 参数2 待添加fragment实例
transaction.replace(R.id.right_layout, fragment);
// 添加到返回栈
// 参数为名字,用来描述返回栈的状态
transaction.addToBackStack(null);
// 5. 提交 事务 transaction
transaction.commit();
}
RightFragment fragment1 = new RightFragment();
AnotherRightFragment fragment2 = new AnotherRightFragment();
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button1:
replaceFragment(fragment1);
break;
case R.id.button2:
replaceFragment(fragment2);
default:
break;
}
}