8
我在導航drawar中有總共12個片段..每個片段都有排球方法。 ,除了位置= 1和位置= 5片段之外,每個片段都顯示自己的齊射響應。通過導航抽屜替換之前的片段到新的片段,排除新片段中的前一個片段響應
當我的應用程序啓動
方案1:我打開位置1個片段和後我打開位置5片段比兩個片段具有位置1片段的響應。
情景2:如果我打開位置5的片段,並且在打開位置1的片段之後,比這兩個片段都具有位置1的片段響應。
方案1的圖像:
方案2倍的圖像:
我的片段交易方法類:
private void showFragment(Fragment fragment) {
llContainer = (LinearLayout)findViewById(R.id.container);
if (fragment != null) {
llContainer.removeAllViewsInLayout();
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container, fragment, fragment.getClass().getName());
fragmentTransaction.commit();
fragmentManager.popBackStack();
}
}
@Override
public void onItemSelected(int position) {
Fragment frag = null;
switch (position) {
case POS_HOME:
frag = FragmentHome.instance(screenTitles[position]);
break;
case POS_INBOX:
txtToolbarTitle.setVisibility(View.VISIBLE);
txtToolbarTitle.setText("Notifications");
frag = FragmentInbox.instance(screenTitles[position]);
break;
case POS_LOG:
frag = FragmentLog.instance(screenTitles[position]);;
break;
case POS_BOOK:
frag = FragmentBook.instance(screenTitles[position]);
break;
case POS_BUILDING:
frag = FragmentBuilding.instance(screenTitles[position]);
break;
case POS_LAWS:
frag = FragmentLaws.instance();
break;
case POS_DOCUMENT:
frag = FragmentDocument.instance(screenTitles[position]);
break;
case POS_EVENT:
frag = FragmentEvent.instance(screenTitles[position]);
break;
case POS_BOARD:
frag = FragmentBoard.instance(screenTitles[position]);
break;
case POS_AROUND:
frag = FragmentAround.instance(screenTitles[position]);
break;
case POS_PROFILE:
frag = FragmentProfile.instance(screenTitles[position]);
break;
case POS_CONCIERGE:
frag = FragmentConcierge.instance(screenTitles[position]);
break;
}
showFragment(frag);
mSlideMenu.closeMenu();
}
您能否告訴我們哪個片段對應哪個位置 – abhishesh