【发布时间】:2014-03-09 13:14:18
【问题描述】:
我正在开发一个使用导航抽屉的应用程序,每个菜单项都旨在启动特定的片段。并且每个片段必须是列表视图形式。有没有办法像普通片段一样启动listfragments?
例如:
new MyListFragment();
是否有类似的方式从主活动启动列表片段?
【问题讨论】:
标签: android list android-fragments
我正在开发一个使用导航抽屉的应用程序,每个菜单项都旨在启动特定的片段。并且每个片段必须是列表视图形式。有没有办法像普通片段一样启动listfragments?
例如:
new MyListFragment();
是否有类似的方式从主活动启动列表片段?
【问题讨论】:
标签: android list android-fragments
片段永远不会“启动”,它们会添加到活动中。使用FragmentTransaction(可能通过替换内容区域)将片段添加到当前活动,或者使用该片段启动另一个活动。
【讨论】:
private void goToRadar(FragmentManager fm){
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.flMain, new ChildRadarFragment());
ft.addToBackStack("radar");
ft.commit();
}
您的 Activity 的 xml 布局中必须有一个 FrameLayout(此处为 id = flMain)。 您应该在单击菜单列表项时执行 FragmentTransactions (=drawer ListView)。
mDrawerList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View v, int index,
long arg3) {
// Here the FragmentTransaction
}
});
【讨论】: