我在我的应用程序中实现了一个导航抽屉,该应用程序是一个标签式布局,我认为这是问题的来源。
目前,我在导航器抽屉中的项目上有一个监听器,以便在按下时启动新片段。问题是,当我按下其中一个项目时,片段似乎没有加载,当前片段只是空白。
如果选择项目后,如何设置片段的布局?由于我目前的方法似乎没有工作。下面显示了我当前的尝试R.id.viewpager
是我要替换的内容。有没有办法只是启动片段布局并用新的片段布局完全替换布局?
onDrawerItemSelected
@Override
public void onDrawerItemSelected(View view, int position) {
Fragment fragment = null;
String title = getString(R.string.app_name);
switch (position)
{
case 0:
{
Intent intent = new Intent(MainActivity.this, MainActivity.class);
startActivity(intent);
}
case 1:
fragment = new FavouritesFragment();
title = getString(R.string.title_favourites);
break;
case 2:
fragment = new HelpFragment();
title = getString(R.string.title_help);
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.viewpager, fragment);
fragmentTransaction.commit();
// set the toolbar title
getSupportActionBar().setTitle(title);
}
}
答案 0 :(得分:0)
fragmentTransaction.replace(R.id.viewpager, fragment);
您不替换viewpager,而是为viewPager设置当前项。您应该有一个PagerAdapter
来定义要为该位置显示的片段。