【问题标题】:Trouble with android navigation Drawerandroid导航抽屉的问题
【发布时间】:2014-02-17 19:26:57
【问题描述】:

我已经使用这个tutorial 创建了一个简单的导航抽屉,导航抽屉中的项目链接到它们各自的片段,但是一旦我点击导航抽屉中的一个项目,我希望它带我到一个列表视图.据我所知,它只链接到扩展 Fragment 的 java 类,只要我提到扩展 ListFragment 它就吓坏了。

【问题讨论】:

  • 你说的怪胎是什么意思?你有一些堆栈跟踪、错误或类似的东西吗?
  • 当我将鼠标悬停在不兼容的类型上时出现的错误,当我尝试运行项目时出现错误:需要不兼容的类型:发现片段:据我了解 EastgateFragment 是我链接导航抽屉中的项目到一个片段,在那个片段中我必须链接到另一个java类,是吗。如果是这样,我不知道该怎么做

标签: android


【解决方案1】:

这是我使用的 NavigationDrawer:

首先我在 NavigationDrawer 中的 ListView 上设置了一个 Click 监听器

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

希望对你有帮助。

【讨论】:

  • 谢谢你,但我似乎仍然无法让它工作。
  • 也许我看错了,有没有更好的方法来做我想做的事?
  • 是的,您可以使用包含 ListView 的简单片段,并在片段生命周期的 onCreateView 方法中引用它。无论如何,我已经向您展示了它是一个正常的 NavigationDrawer 实现。
  • @TheCrazyZimbo 你最后做对了吗?您需要更多帮助吗?
  • 嘿,伙计,好吧,我不得不暂时休息一下,过几天再继续,谢谢,如果我被卡住了,大喊大叫,你有 Skype 或 sumn 我们可以吗聊天吗??
猜你喜欢
  • 1970-01-01
  • 2019-01-09
  • 2020-04-29
  • 1970-01-01
  • 2013-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多