0
有一個TabHost與幾個選項卡。它在切換標籤時大部分時間都有效。 但有時一個標籤,當點擊它並切換到選項卡,然後在跟蹤它確實調用TabHost有一段時間託管片段不顯示
ft.show(newTab.fragment);
但片段內容不顯示。
注意到(即它有三個選項卡),第一個選項卡(默認打開的第一個選項卡始終可以選中),但接下來的2選項卡會稍後出現問題。
任何人都注意到類似的或任何東西在這裏丟失?謝謝!
in TabHost.OnTabChangeListener
@Override
public void onTabChanged(String tabId) {
FragmentTransaction ft = mFragmentManager.beginTransaction();
TabInfo newTab = null;
for (int i=0; i<mTabs.size(); i++) {
TabInfo tab = mTabs.get(i);
if (tab.tag.equals(tabId)) {
newTab = tab;
break;
}
}
if (mLastTab != newTab) {
if (mLastTab != null) {
if (mLastTab.fragment != null) {
ft.hide(mLastTab.fragment);
}
}
if (newTab != null) {
if (newTab.fragment == null) {
newTab.fragment = Fragment.instantiate(mContext,
newTab.clss.getName(), newTab.args);
ft.add(mContainerId, newTab.fragment, newTab.tag);
} else {
if (newTab.fragment.isHidden()){
ft.show(newTab.fragment);
} else {
ft.attach(newTab.fragment);
}
}
}
mPreviousTab = mLastTab;
mLastTab = newTab;
ft.commit();
}
}