gpt4 book ai didi

Android:从抽屉导航中打开 fragment

转载 作者:行者123 更新时间:2023-11-30 01:59:30 25 4
gpt4 key购买 nike

我创建了一个抽屉导航和一个 fragment ,我试图从抽屉导航中打开该 fragment ,但没有任何反应,请提供任何帮助..

@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;
}

最佳答案

我更改了您的一些代码,这应该可以。如果出现任何问题,请随时发表评论。您找不到您的 Location fragment ,因为您没有为它设置 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);
}
}

关于Android:从抽屉导航中打开 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31714396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com