我有一个扩展ListActivity
的类,我试图使用下面的代码隐藏默认的TitleBar(我认为它叫做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。如果需要,可以使用完整的错误堆栈跟踪:http://pastebin.com/VLR5dE8m
答案 0 :(得分:1)
要禁用Titltbar,请在清单文件中使用此代码,它会对您有帮助。
< 活动 机器人:主题= “@安卓风格/ Theme.NoTitleBar.Fullscreen” >
答案 1 :(得分:0)
我认为如果您使用ActionBar,则不应使用requestWindowFeature()。您可以使用以下方法隐藏ActionBar的标题:
ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
http://developer.android.com/reference/android/app/ActionBar.html#setDisplayShowTitleEnabled(boolean)
答案 2 :(得分:0)
删除操作栏:getActionBar()。hide()。另请参阅此答案:How to disable action bar permanently
答案 3 :(得分:-1)
似乎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);
}
}
请注意,在调用requestWindowFeature
课程和super
之前必须先调用setContentView
。