麻烦导航抽屉

时间:2014-02-17 10:54:39

标签: android

我使用此tutorial创建了一个简单的导航抽屉,导航抽屉中的项目链接到各自的片段,但是一旦我点击导航抽屉中的项目,我希望它带我到即列表显示。到目前为止我看到它只链接到一个扩展Fragment的java类,只要我提到扩展ListFragment就会吓坏它。

1 个答案:

答案 0 :(得分:0)

这是我使用的NavigationDrawer:

首先,我将Click侦听器设置为NavigationDrawer中的ListView

mDrawerList.setOnItemClickListener(new DrawerItemClickListener());

DrawerItemClickListener是一个自定义类

private class DrawerItemClickListener implements
    ListView.OnItemClickListener {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            selectItem(position);
        }
    }

调用selectItem(int position)

private void selectItem(int position) {
        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        switch (position) {
        case 0:
            ft.replace(R.id.content_frame, new FirstFragment());
            setTitle("First");
            break;
        case 1:
            ft.replace(R.id.content_frame, new SecondFragment());
            setTitle("Second");
            break;
        case 2:
            ft.replace(R.id.content_frame, new ThirdFragment());
            setTitle("Third");
            break;
        }

        ft.commit();
        mDrawerList.setItemChecked(position, true);
        mDrawerLayout.closeDrawer(mRelativeLayout);
    }

在这里,您可以设置任何您想要的片段。这样你就不会有任何片段类型不匹配。

此外,您可以按照Android开发人员提供的官方NavigationDrawer示例进行操作。

  

http://developer.android.com/training/implementing-navigation/nav-drawer.html

希望它有所帮助。