我有一个类DashBoardTasks,它扩展了SherlockListActivity,它具有以下代码:
public class DashBoardTasks extends SherlockListActivity
{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_listview);
ActionBar a = DashBoardTasks.this.getSupportActionBar();
a.hide();
(...)
}
发生的事情是我的夏洛克动作栏消失了。目前为止,一切都好。
现在我有这个类 TabHostTasks:
public class TabHostTasks extends tabActivity
当我在TabHostTasks中调用DashBoardTasks时,会发生什么是 a = 空并且应用程序崩溃!!!为什么?为什么它在选项卡外工作但在选项卡内崩溃?我只是隐藏操作栏。
谢谢。
我怀疑当TabActivity
在其内容区域内显示活动时,这些活动没有像ActionBar
这样的窗口功能。您的DashBoardTasks
活动没有ActionBar
; TabHostTasks
确实如此。
在TabHostTasks
中编写一个方法来操作您的ActionBar
。您可以从DashBoardTasks
调用getParent()
并将其强制转换为TabHostTasks
,然后调用您的方法来隐藏栏。
此外,您可以考虑尝试使用选项卡式ActionBar
来实现您的应用。(TabActivity
已弃用)