java - 使用 TabHost 和 LocalActivityManager 时不调用 Android OnResume

标签 java android android-tabhost

我设置了一个包含两个 Activity 的 tabhost,因为我无法使用 TabActivity,所以我使用了 LocalActivityManager,但是当我切换选项卡时,不会为选项卡中的 Activity 调用 onResume。这是我的设置:

mlam = new LocalActivityManager(this, false);
mlam.dispatchCreate(savedInstanceState);
tabHost = (TabHost) findViewById(android.R.id.tabhost);
tabHost.setup(mlam);

我将 dispatchResume 和 dispatchPause 放置在适当的位置,但它们仅在主选项卡 Activity 获得 onResume 或 onPause 时触发。我试图通过在 bab 更改时触发 dispatchResume 来解决我的问题,但这似乎没有触发。

tabHost.setOnTabChangedListener(new OnTabChangeListener(){

    public void onTabChanged(String tabId) {

    mlam.dispatchResume();

     }

});

有谁知道如何确保为 Activity 触发 onResume,以便我可以在选项卡被选中时更新内容?

最佳答案

您必须使用第二个参数 true 来初始化 mlam: mlam = new LocalActivityManager(this, true);

然后在某个时间在 tabhost 中只恢复一个 Activity 。

关于java - 使用 TabHost 和 LocalActivityManager 时不调用 Android OnResume,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8660540/

相关文章:

android - WebView 滚动

android - 为什么 Eclipse 突出显示 R.id.tabhost?

java - Cassandra 在更新另一个表时触发更新另一个表

java - 无法通过Java连接到Hbase

java - 使用java获取图片的平均颜色并比较图片颜色

android - 如何在 FragmentActivity 中使用自定义 iPhone 选项卡?

android - ICS 中未显示选项卡分隔符

java - MessageDriverBean - 重试机制

java - 如何停止或退出 "Runnable"

android - 在 Fire TV Stick 上侧载应用程序时失败 [INSTALL_FAILED_DEXOPT] 错误