私はいくつかのメニュー項目の選択に基づいて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();
}
}
}
をロードする私のアプリでは、単一の活性を有する「Fragment1」されますTextView内の固定テキストを持つ単純なフラグメント。 「Fragment2」は、SlidingTabLayoutを使用して、FragmentStatePagerAdapterを使用してビューページ内にFragment "FragmentViewPager"をロードします。
問題私が直面しています:
を、私は、フラグメント "FragmentViewPager" は破壊されません(。。getFragmentManager()のbeginTransaction()削除を使用して)活動のフレームレイアウトから "Fragment2" を削除しても、アクティビティが再開するたびに再開します。
質問
FragmentViewPagerが "Fragment2" で破壊されないのはなぜ?
アクティビティ – Godwin
でのloadFragment()コールの場所は2つあります。1)onCreateメソッドのIF savedInstanceState == null ...および2)Navigation DrawerアイテムのonClickイベント。 – abdfahim
もう一度、FragmentViewPagerはどこにありますか? – Godwin