[英]Android: Open next Fragment from other Fragment with saved Navigation Drawer
[英]Android:open fragment from Navigation drawer
我創建了一個導航抽屜和一個片段,我試圖從導航抽屜中打開該片段,但是請沒有任何幫助。
@Override
public void onNavigationDrawerItemSelected(int position) {
// update the main by replacing fragments
Fragment fragment;
switch(position){
case 0: //search//todo
break;
case 1: //stats
break;
case 2: //my account //todo
break;
case 3: //settings //todo
break;
case 4: //location //todo
fragment = getFragmentManager().findFragmentByTag(LocationFragment.TAG);
if (fragment == null) {
fragment = new LocationFragment();
}
getFragmentManager().beginTransaction().replace(R.id.container, fragment, LocationFragment.TAG).commit();
break;
}
我更改了一些代碼,這應該可以工作。 如有任何問題,請隨時發表評論。 您找不到位置片段,因為它沒有setTag
。
@Override
public void onNavigationDrawerItemSelected(int position) {
// update the main by replacing fragments
Fragment fragment;
String fragmentName;
switch(position) {
case 0: //search//todo
fragment = new SearchFragment();
fragmentName = "SearchFragment";
break;
case 1: //stats
fragment = new StatFragment();
fragmentName = "StatFragment";
break;
case 2: //my account //todo
fragment = new MyAccountFragment();
fragmentName = "MyAccountFragment";
break;
case 3: //settings //todo
fragment = new SettingsFragment();
fragmentName = "SettingsFragment";
break;
case 4: //location //todo
fragment = new LocationFragment();
fragmentName = "LocationFragment";
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.container, fragment, fragmentName).commit();
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
mDrawerLayout.closeDrawer(mDrawerRelativeLayout);
} else {
mDrawerLayout.closeDrawer(mDrawerRelativeLayout);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.