android - 在添加内容之前必须调用 requestFeature()

标签 android android-layout android-activity

我正在尝试实现自定义标题栏:

这是我的 Helper 类:

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);
        }
    }
}

这是我在 onCreate() 中调用它的地方:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setupUI();
}

private void setupUI(){
     setContentView(R.layout.main);
     UIHelper.setupTitleBar(this);
}

但我得到了错误:

requestFeature() must be called before adding content

最佳答案

好吧,按照错误信息告诉你的去做。

不要在 requestFeature() 之前调用 setContentView()

注意:

正如评论中所说,对于 ActionBarSherlockAppCompat 库,都需要在 super.onCreate 之前调用 requestFeature() ()

关于android - 在添加内容之前必须调用 requestFeature(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4250149/

相关文章:

java - 在Android中发出POST请求

android - float 操作按钮阻挡其他组件

android - 不要保持 Activity - 它有什么用?

android - Android Studio 查看 XML 布局时出错

安卓多屏不兼容

java - 获取 Facebook 好友性别

AndroidRuntime : java. lang.UnsatisfiedLinkError : Native method not found: com. example.compute.UseNDK.AddNumbers:(II)I

android - 在 Android 中使用默认字体样式

android - 是否可以在一个布局中制作两个具有相同 ID 的按钮?

android - 需要安卓后台服务