Android导航抽屉片段没有显示

时间:2016-02-18 21:46:23

标签: android android-layout android-fragments

我在我的应用程序中实现了一个导航抽屉,该应用程序是一个标签式布局,我认为这是问题的来源。

目前,我在导航器抽屉中的项目上有一个监听器,以便在按下时启动新片段。问题是,当我按下其中一个项目时,片段似乎没有加载,当前片段只是空白。

如果选择项目后,如何设置片段的布局?由于我目前的方法似乎没有工作。下面显示了我当前的尝试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);
    }
}

1 个答案:

答案 0 :(得分:0)

fragmentTransaction.replace(R.id.viewpager, fragment);

您不替换viewpager,而是为viewPager设置当前项。您应该有一个PagerAdapter来定义要为该位置显示的片段。