Android 使用ListActivity隐藏应用程序标题时出现异常

Android 使用ListActivity隐藏应用程序标题时出现异常,android,android-actionbar,titlebar,Android,Android Actionbar,Titlebar,我有一个扩展了ListActivity的类,我正试图用下面的代码隐藏默认标题栏(我想它叫ActionBar)。它适用于常规活动,但不适用于ListActivity。在这种情况下,我如何实现同样的目标 public class MyClass extends ListActivity{ @Override public void onCreate(Bundle b) { requestWindowFeature(Window.FEATURE_NO_TITLE);

我有一个扩展了
ListActivity
的类,我正试图用下面的代码隐藏默认标题栏(我想它叫ActionBar)。它适用于常规活动,但不适用于
ListActivity
。在这种情况下,我如何实现同样的目标

public class MyClass extends ListActivity{
    @Override
    public void onCreate(Bundle b) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(b);
        // Tried Window.FEATURE_NO_TITLE here as well
        setContentView(R.layout.activity_myclass);
        getActionBar().setDisplayHomeAsUpEnabled(true);
    }
}

结果是一个NullPointerException。如果需要,完整的错误堆栈跟踪就在这里:

我认为如果使用ActionBar,就不应该使用requestWindowFeature()。您可以使用以下方法隐藏ActionBar的标题:

ActionBar actionBar = getActionBar(); 
actionBar.setDisplayShowTitleEnabled(false); 

)

似乎NullPointerException是由
getActionBar()
生成的。从代码中删除以下行修复了该问题

getActionBar().setDisplayHomeAsUpEnabled(true);
最终(工作)代码:

public class MyClass extends ListActivity{
    @Override
    public void onCreate(Bundle b) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(b);
        setContentView(R.layout.activity_myclass);
     }
}

请注意,在调用
super
类和
setContentView
之前必须调用
requestWindowFeature
,以删除操作栏:getActionBar().hide()。另请参见此答案:

要禁用标题栏,请在清单文件中使用此代码,它将帮助您

< 活动 android:theme=“@android:style/theme.NoTitleBar.Fullscreen”
>

你能把stacktrace贴在这里吗?我支持一个公司代理|在setContentView()之后尝试Window.FEATURE。在super.onCreate()和setContentView()之后调用requestWindowFeature(Window.FEATURE\u NO\u TITLE)。。。。。首先设置窗口,然后设置无标题栏选项。或者您也可以编写此“android:theme=“@android:style/theme.NoTitleBar”“在活动标记下的清单中,第50行是什么?getActionBar似乎为空me@downvoter:想详细说明一下你的行动吗?代码运行良好,是答案的解决方案。这没用,因为它只显示一个图标,但旁边没有文本标题。您还需要的是
actionBar.setDisplayShowHomeEnabled(false)