我设置了一个包含两个 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/