onTabChanged并不总是被调用

时间:2013-03-11 01:20:10

标签: android

我有root tabWidget并且在fragment-child 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) {

当currrent片段设置为选中时称为:

@Override public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser == true) { 
        mTabs.setCurrentTab(0);
        ...
    }

问题:

当片段设置为可见时(点击选项卡) - 在子选项卡上选中的是0项索引。

1尝试:

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

    1. 选择0索引,点击2 - onTabChanged()未调用
    2. 选择0索引,点击2 - onTabChanged()未调用
    3. 选择0索引,点按3 - 确定
    4. 选择3索引,点按2 - 确定
    5. 为什么第一步onTabChanged()没有被调用?

0 个答案:

没有答案