【问题标题】:Are there any " on leave tab " event for the fragment inside the tabhost in android?android中tabhost内的片段是否有任何“on leave tab”事件?
【发布时间】:2014-02-19 02:36:36
【问题描述】:

我正在研究 tabhost 和 Fragment 的实现。我的 tabhost 中有 5 个选项卡,每当用户离开 tab3 时,我想实现一些代码(返回 1 级)。但是,我尝试了 detach 和 pause ,两者都不起作用。

@Override
public void onDetach() {
    // TODO Auto-generated method stub
           getFragmentManager().popBackStackImmediate();
    super.onDetach();
}

所以我想知道当用户单击另一个选项卡时片段的活动周期是什么?或者,有什么方法可以捕获该事件?谢谢

【问题讨论】:

  • TabHost 已弃用。如果您需要向后兼容,请使用 v7 支持库中的 ActionBarActivity。然后使用TabListener
  • 您介意提供一些代码示例吗?我已将应用程序定位在 >4.0
  • 您可以使用 Tabs + Swipe 导航模板创建一个新的空白项目。

标签: android android-fragments android-tabhost android-lifecycle fragment-tab-host


【解决方案1】:

尝试将此回调添加到您的 TabHost:

myTabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener()
{

  @Override
  public void onTabChanged(String tabId)
  {
     // Tab was changed; now do stuff  
  }

});

【讨论】:

  • 程序顺序不太正确。例如,如果我在 tab3 ,我按下 tab1 ,它只有在我离开 tab3 时才执行 backstack 函数,并且 go backstack 函数将在 tab1 上运行
猜你喜欢
  • 2012-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多