我有根 tabWidget 和片段之一 - 子 tabWidget。
片段类是:
public class TopFragment extends Fragment implements TabHost.OnTabChangeListener{
private TabWidget mTabs;
tabhost 在 onCreateView() 中设置和设置监听器:
@Override
public View onCreateView(...
...
mTabs = (TabWidget) view.findViewById(android.R.id.tabs);
mTabHost = (TabHost) view.findViewById(R.id.tabhost_top);
mTabHost.setOnTabChangedListener(this);
mTabHost.setup();
在类中重写 onTabChange 方法:
@Override public void onTabChanged(final String tabId) {
当当前片段设置为选中时调用:
@Override public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser == true) {
mTabs.setCurrentTab(0);
...
}
问题:
当片段设置为可见时(点击选项卡) - 在子 tabWidget 上选择的是 0 项目索引。
1 次尝试:
- 选择 0 索引,点击 2 或 3 - onTabChanged() 未调用
- 选择 0 索引,点击 1 - 确定
- 选择 1 个索引,点击 0 - 确定
- 选择 0 索引,点击 2 或 3 - 确定
2尝试:
- 选择 0 索引,点击 2 - onTabChanged() 未调用
- 选择 0 索引,点击 2 - onTabChanged() 未调用
- 选择 0 索引,点击 3 - 确定
- 选择 3 索引,点击 2 - 确定
为什么在第一步 onTabChanged() 没有被调用?