删除选项卡内的夏洛克操作栏



我有一个类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已弃用)

最新更新