我在 Android 4.0.3 上使用 ActionBarSherlock,所以它可能使用原生的 ActionBar。
当我启动我的应用程序时,一切正常。但是,当我进入主屏幕并等到它被杀死(或者只是更改系统字体,然后它会立即发生)然后再次通过“上次使用”对话框切换到应用程序时,一切都会顺利重新加载,除了 Actionbar 现在有空标签。
所以选项卡在那里,但为空(并且不起作用)。奇怪的是,即使在 Application 对象中调用了 onCreate(如在 TabParentActivity 中,请参见下面的代码),所以理论上应用程序应该已经完全重新启动(而不仅仅是部分地像 onResume...)。
然后当我杀死我的应用程序(通过任务管理器)并重新打开它时,问题就消失了。
我如何在 TabParentActivity 中添加操作栏:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tab_parent);
//Global initialization
...
ActionBar ab = getSupportActionBar();
// set defaults for logo & home up
ab.setDisplayShowHomeEnabled(true);
ab.setDisplayShowTitleEnabled(false);
ab.setDisplayHomeAsUpEnabled(false);
ab.setDisplayUseLogoEnabled(true);
ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
...
for(StolScreen s: screensInTabs){
Tab t = mAb.newTab().setText(s.displayName);
t.setTabListener(new NormalTabListener(this.mActivity, s));
mAb.addTab(t);
}
}