从导航抽屉中选择时不显示片段

时间:2016-06-26 12:14:48

标签: android android-fragments android-recyclerview recycler-adapter

我的活动中有三个片段。我正在使用Recyclerview来显示它们。我想对我的片段进行分组,比如在导航抽屉片段1和2中选择A时,将使用viewpager进行显示。这很好。

但是当我选择片段B时它不显示。片段B不在分组中。

请帮帮我。

public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener{




Toolbar toolbar;
SharedPreferences savedPreferences;
private static Context mContext;
private FragmentDrawer drawerFragment;





@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
@Override
protected void onCreate(Bundle savedInstanceState) {
toolbar = (Toolbar) findViewById(R.id.toolbar);
    if (toolbar != null) {
        toolbar.setTitle("");
        toolbar.setSubtitle("");
        setSupportActionBar(toolbar);

    }

    drawerFragment = (FragmentDrawer)
            getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);
    drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), toolbar);
    drawerFragment.setDrawerListener(this);
    displayView(0);
}

@Override
public void onDrawerItemSelected(View view, int position) {
    displayView(position);
}

private void displayView(int position) {
    Fragment fragment = null;
    switch (position) {
        case 0:
            fragment = new TabFragment();
            break;

        case 1:
            fragment = new MoviesFragment();
            break;

        default:
            break;
    }

    if (fragment != null) {
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.replace(R.id.container_body, fragment);
        fragmentTransaction.commit();



    }
}}

在这种情况下,MoviesFragment未显示。当我从导航栏中选择MoviesFragment时,只会出现一个空白的白色屏幕。

谢谢!

1 个答案:

答案 0 :(得分:0)

解决了!

问题不在于MainActivity,而是MoviesFragment本身。我刚刚添加了一个空构造函数,它可以工作。