我正在使用ActionBarSherlock并将this pattern用于我在android开发人员网站上找到的标签导航。它工作的很好,但我也希望能够在NAVIGATION_MODE_TABS
和NAVIGATION_MODE_LIST
之间切换,以保留选项卡和片段之间的关联。在标签导航和列表导航之间切换
上面提到的模式对于保留泛型代码非常有用。所以,我有特异片段添加侦听我的标签和关联他们是这样的:
bar.addTab(bar.newTab()
.setText("MyFragment")
.setTabListener(new TabListener<SomeFragment>(this, "myfargment", SomeFragment.class)));
和实例化片段点击与仿制药的帮助下,相关的选项卡时:
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if (mFragment == null) {
mFragment = Fragment.instantiate(mActivity, mClass.getName(), mArgs);
ft.add(android.R.id.content, mFragment, mTag);
} else {
ft.attach(mFragment);
}
}
我的问题是我怎样才能实现类似的方式,而浏览我的片段与列表导航模式。我找不到类似的方法,因为OnNavigationListener
的ActionBar上的列表适用于整个列表而不是每个项目的基础像tablistener。
或做我必须做这样的事情:
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
switch (itemPosition) {
case 0:
//Replace the current fragment with FragmentA
break;
case 1:
//Replace the current fragment with FragmentB
break;
case 2:
//Replace the current fragment with FragmentC
break;
default:
break;
}
return true;
}
编辑:虽然导航模式如果我把设置为NAVIGATION_MODE_TABS
:
我注意到一个有趣的现象我的手机在风景模式下它将标签转换为列表并且保存联系之间的fragmen ts和列表项目(哪些是在之前的标签项目)我怎样才能达到这个结果点播而不是在方向变化?