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