2014-02-17 117 views
1

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

+1

你是什么意思与怪胎出?你有一些堆栈跟踪,错误或类似的东西? – axierjhtjz

+0

当我悬停在我遇到的错误是不兼容的类型,当我尝试运行项目我得到 错误:不兼容的类型 要求:片段 找到:EastgateFragment 据我所知,是我链接项目在导航抽屉的片段,并在该片段我必须链接到另一个Java类,是对的。如果是这样我不知道如何做到这一点 – TheCrazyZimbo

回答

0

这是NavigationDrawer我用:

首先,我设置了点击监听到ListView的NavigationDrawer

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

希望它有帮助。

+0

感谢这一点,但我仍然不能似乎得到它的工作。 – TheCrazyZimbo

+0

也许我看错了,有没有更好的方式做我想做的事情? – TheCrazyZimbo

+0

是的,您可以使用包含ListView的简单片段,并在您的Fragment生命周期的onCreateView方法中引用它。无论如何,我已经告诉你这是一个正常的NavigationDrawer实现。 – axierjhtjz