我正在尝试使用 Actionbar 选项卡和片段来实现一个非常基本的导航结构。基本上我有三个片段,它们是使用操作栏上的选项卡选择的。这些片段中的每一个都是一个列表视图,它应该允许用户选择一个项目并打开一个详细视图。
我想知道从现有片段向屏幕添加新片段的最佳方法。我目前将详细视图全部实现为活动(这显然不理想,因为操作栏选项卡不存在,并且无论当前位置如何,使用后退按钮的导航都会返回到选项卡 1)。
我在我的 MainActivity 中添加所有列表片段;
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if (tab.getPosition() == 0) {
Frag1 frag = new Frag1();
ft.replace(android.R.id.content, frag);
} else if (tab.getPosition() == 1) {
Frag2 frag = new Frag2();
ft.replace(android.R.id.content, frag);
} else if (tab.getPosition() == 2) {
Frag3 frag = new Frag3();
ft.replace(android.R.id.content, frag);
}
}
我需要在这些片段上实现什么来启动详细视图?我已经尝试过这样的事情,但导航仍然无法按照我的意愿工作。
private void onListItemClick(View v, int pos, long id) {
Log.d(TAG, "Clicked at position: " + pos);
NewsModel selectedModel = newsItems.get(pos);
Log.d(TAG, "Item: " + selectedModel.getTitle());
NewsDetailFragment fragment = NewsDetailFragment.newInstance(selectedModel);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content, fragment);
ft.addToBackStack(null);
ft.commit();
我通常来自 iOS 世界,所以我的一些范例可能与 Android 的功能有点不合时宜。
谢谢!