1

我有根 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 次尝试:

  1. 选择 0 索引,点击 2 或 3 - onTabChanged() 未调用
  2. 选择 0 索引,点击 1 - 确定
  3. 选择 1 个索引,点击 0 - 确定
  4. 选择 0 索引,点击 2 或 3 - 确定

2尝试:

  1. 选择 0 索引,点击 2 - onTabChanged() 未调用
  2. 选择 0 索引,点击 2 - onTabChanged() 未调用
  3. 选择 0 索引,点击 3 - 确定
  4. 选择 3 索引,点击 2 - 确定

为什么在第一步 onTabChanged() 没有被调用?

4

0 回答 0