错误:requestFeature() must be called before adding content

原因:

Android去掉标题栏点菜单键程序崩溃

在安卓以前的版本中,我们会使用以下两种方式来去掉顶部自带的标题栏:

1、在代码中实现:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
2、在AndroidManifest.xml中实现:
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
或者先在style文件中定义
<?xml version="1.0" encoding="UTF-8" ?>
<resources>
<style name="notitle"> <item name="android:windowNoTitle">true</item> </style>
</resources>
之后在中引用
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/notitle">
但是新版android推荐使用的是继承ActionBarActivity的Activity,这时再使用上述两种方法去掉标题栏,当应用点击菜单键的时候则会出现空指针异常的错误,或者APP会出现闪退。
这是因为Activity继承了ActionBarActivity,它来自android.support.v7.app.ActionBarActivity。
所以就要使用与其配合的AppCompat的theme才行
解决的办法之一就是让Activity去继承Activity而不是ActionBarActivity。
如果非要继承ActionBarActivity的话,这时可以用下面的方法来去掉标题栏:
在Activity的onCreate方法中,在setContentView(R.layout.activity_main);之前添加
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
这两行代码即可去掉标题栏。
 

 你隐藏标题栏最好在核心配置文件改或者是在style中改
使用xml的方法,在该项目的AndroidManifest.xml文件中,在需要全屏的Activity元素中添加属性

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

这样就可以实现这个Activity的全屏显示,如果只是不要标题栏,即需要保留系统自带的任务栏的话,则使用

android:theme="@android:style/Theme.NoTitleBar"

 
 

requestFeature() must be called before adding content的更多相关文章

  1. Android开发中遇到的requestFeature() must be called before adding content异常

    缘起 上一篇博文中讲到了几种实现全屏显示Activity内容的方法.然而实际在实现中发现了一些问题,在本篇博文中进行总结下.首先交代一下开发环境,本人使用的是Android Studio 1.5.1, ...

  2. 关于requestFeature() must be called before adding content

    想显示dialog时,如果想显示的是自定义布局的dialog,并使用如下方式,则会报错requestFeature() must be called before adding content Ale ...

  3. android.util.AndroidRuntimeException: requestFeature() must be called before adding content 错误解决方法

    Activity全屏,网上的代码如下:protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance ...

  4. android.util.AndroidRuntimeException: requestFeature() must be called before adding content解决办法

    最近在学习第一行代码这本书,里面的关于activity生命周期有一段例子,但是我自己用mac上装的as运行一直出问题,看log的话就是android.util.AndroidRuntimeExcept ...

  5. requestFeature() must be called before adding content产生原因和解决办法

    03-24 01:07:31.504 2957-2957/com.santai.jrj E/AndroidRuntime: FATAL EXCEPTION: main Process: com.san ...

  6. Android Exception 9(requestFeature() must be called before adding content)

    08-05 17:36:12.799: W/System.err(10378): java.lang.reflect.InvocationTargetException08-05 17:36:12.7 ...

  7. .AndroidRuntimeException: requestFeature() must be called before adding content

    有以下几种情况: 1. setContentView(R.layout.activity_list); requestWindowFeature(Window.FEATURE_NO_TITLE); 修 ...

  8. Android showDialog时报错requestFeature() must be called before adding content

    View view = View.inflate(this, R.layout.layout_dialog, null); AlertDialog alertDialog = new AlertDia ...

  9. Android 《第一行代码》 第二章练习代码 ActivityTest

    FirstActivity.java package com.example.activitytest; import android.app.Activity; import android.con ...

随机推荐

  1. VS配置使用第三方库

    VS使用第三方库 项目设置 调整头文件引用目录 C/C++ -> General -> Additional Include Directories 添加库文件目录 Linker -> ...

  2. Kd-Tree&Ransac笔记

    关于sift资源总结: http://blog.csdn.net/masibuaa/article/details/9191309 两个比较好的资源: https://my.oschina.net/k ...

  3. Eureka 向Server中注册服务

    Eureka支持注册与发现服务,本章讲解如何像服务中心注册服务. 在父工程下创建EurekaClient工程(eureka-provider): pom.xml <?xml version=&q ...

  4. [UOJ#131][BZOJ4199][NOI2015]品酒大会

    [UOJ#131][BZOJ4199][NOI2015]品酒大会 试题描述 一年一度的“幻影阁夏日品酒大会”隆重开幕了.大会包含品尝和趣味挑战两个环节,分别向优胜者颁发“首席品酒家”和“首席猎手”两个 ...

  5. BZOJ 3052: [wc2013]糖果公园 | 树上莫队

    题目: UOJ也能评测 题解 请看代码 #include<cstdio> #include<algorithm> #include<cstring> #includ ...

  6. Uva10635 Prince and Princess

    题目戳这里 这题如果用\(f_{i,j}\)这样dp的话肯定过不了,必须另辟蹊径.题目说了数字不重复.我们先只留下两个数组共有的数字.然后我们处理出这样一个数组\(S\),\(S_i\)表示\(A_i ...

  7. transform perspective的层级问题

    如上图,在积分的数字元素上,使用了transform perspective,其层级就穿透了上面的遮罩层,关键代码如下: .mask { position: fixed; z-index:; } .f ...

  8. 自动设置 rem es模块写法

    export default function () { let html = document.documentElement; function onWindowResize() { if (ht ...

  9. 如何设置两个AD域控制器

    目的:这要为了测试,哈哈哈哈. 其实是为了AD域控的高可用性.一个域控down了,另一个可以顶上去. 如何设置:参考http://lgzeng2360.blog.51cto.com/275998/10 ...

  10. linq使用 count与sum等

    using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; us ...