我使用android studio创建了默认导航抽屉应用程序。
然后我不想用不同的组件创建不同的布局。如何更改与菜单点击相关的内容。
我想在点击导航菜单链接时更改这两个内容。
虚拟内容(!无效:内容体是传出的,不能使用可重复使用的片段)
答案 0 :(得分:1)
如果我理解你的问题,你可以将FrameLayout作为容器。在列表项上,单击向容器添加或替换适当的片段。
如果您需要开始一项新活动,您也可以这样做。
您可以按照示例@
http://developer.android.com/training/implementing-navigation/nav-drawer.html
答案 1 :(得分:1)
我想用不同的组件创建不同的布局。我怎么能 更改与菜单点击相关的内容。
=>当用户从导航抽屉中选择任何项目时,我完全明白你想要更改内容,即布局(活动)。
如果是这种情况,那么你必须用你想要显示的新片段替换当前片段。
例如:
private class DrawerItemClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
selectItem(position);
}
}
/** Swaps fragments in the main content view */
private void selectItem(int position) {
// Create a new fragment and specify the planet to show based on position
Fragment fragment = new PlanetFragment();
Bundle args = new Bundle();
args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position);
fragment.setArguments(args);
// Insert the fragment by replacing any existing fragment
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.content_frame, fragment)
.commit();
// Highlight the selected item, update the title, and close the drawer
mDrawerList.setItemChecked(position, true);
setTitle(mPlanetTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
@Override
public void setTitle(CharSequence title) {
mTitle = title;
getActionBar().setTitle(mTitle);
}
详细示例:http://developer.android.com/training/implementing-navigation/nav-drawer.html