背景
我的App中有单个活动,根据一些菜单项选择加载2个片段
public class ActivityMain extends AppCompatActivity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState == null) {
loadFragment(1); // DEFAULT FRAGMENT, AT THE BEGINNING
}
}
..........................
..........................
// This method is called above, ALSO onItemClick in the Navigation Drawer (code not included for brevity)
public void loadFragment(int position) {
Fragment fragment = null;
switch (position) {
case 1:
fragment = new Fragment1();
break;
case 2:
fragment = new Fragment2();
break;
default:
break;
}
if (fragment != null) {
getFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment, "frag_" + position).addToBackStack(null).commit();
}
}
}
"片段1"是一个在TextView中具有固定文本的简单片段。 " Fragment2"使用SlidingTabLayout加载片段" FragmentViewPager"在viewpager中使用FragmentStatePagerAdapter。
我面临的问题:
即使我删除了#34; Fragment2"来自Activity的Frame Layout(使用getFragmentManager()。beginTransaction()。remove),Fragment" FragmentViewPager"不会被破坏,而是每次活动恢复时它都会恢复。
问题
为什么FragmentViewPager不会被" Fragment2"?
破坏答案 0 :(得分:0)
如果您正在使用FragmentStatePagerAdapter
,那么这不会破坏片段,当您滑动并返回该片段时,它将显示旧数据而不刷新。因为没有被viewpager破坏。