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)代码>