requestFeature()必须在添加内容之前调用 [英] requestFeature() must be called before adding content

查看:183
本文介绍了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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆