我正在使用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和列表項目(哪些是在之前的標籤項目)我怎樣才能達到這個結果點播而不是在方向變化?