requestFeature()必须在添加内容之前调用 [英] requestFeature() must be called before adding content
本文介绍了requestFeature()必须在添加内容之前调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想实现一个自定义标题栏:
下面是我的助手类:
进口android.app.Activity;
进口android.view.Window;
公共类UIHelper {
公共静态无效setupTitleBar(活动三){
最终布尔customTitleSupported = c.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
c.setContentView(R.layout.main);
如果(customTitleSupported){
。c.getWindow()setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar);
}
}
}
下面是我调用它的onCreate():
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
setupUI();
}
私人无效setupUI(){
的setContentView(R.layout.main);
UIHelper.setupTitleBar(本);
}
但我得到的错误:
requestFeature()添加内容之前,必须先调用
解决方案
好了,只是做了错误消息告诉你。
不要叫的setContentView()
在 requestFeature()
。
注意:
正如评论所说,对于 ActionBarSherlock
和 AppCompat
库,它需要调用 requestFeature()
在 super.onCreate()
I am trying to implement a custom titlebar:
Here is my Helper class:
import android.app.Activity;
import android.view.Window;
public class UIHelper {
public static void setupTitleBar(Activity c) {
final boolean customTitleSupported = c.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
c.setContentView(R.layout.main);
if (customTitleSupported) {
c.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
}
}
}
Here is where I call it in onCreate():
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupUI();
}
private void setupUI(){
setContentView(R.layout.main);
UIHelper.setupTitleBar(this);
}
But I get the error:
requestFeature() must be called before adding content
解决方案
Well, just do what the error message tells you.
Don't call setContentView()
before requestFeature()
.
Note:
As said in comments, for both ActionBarSherlock
and AppCompat
library, it's necessary to call requestFeature()
before super.onCreate()
这篇关于requestFeature()必须在添加内容之前调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文