2016-03-28 60 views
-3
@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.activity_main); 
} 

崩潰我的應用程序錯誤如何正確隱藏活動標題中安卓

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

我知道我有設定內容畫面之前請求窗口功能,這就是我在做什麼。爲什麼錯誤仍然存​​在?

我Acitivty延伸AppCompatActivity,並宣佈在清單如下:

<activity 
      android:name=".activity.CameraActivity" 
      android:label="@string/title_activity_camera" 
      android:theme="@style/Theme.AppCompat.Light.Dialog"></activity> 

編輯完整的堆棧跟蹤:

Process: irisrecognition.example.com.irisrecognition, PID: 29756 
java.lang.RuntimeException: Unable to start activity ComponentInfo{irisrecognition.example.com.irisrecognition/irisrecognition.example.com.irisrecognition.activity.CameraActivity}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2693) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758) 
    at android.app.ActivityThread.access$900(ActivityThread.java:177) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:145) 
    at android.app.ActivityThread.main(ActivityThread.java:5942) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195) 
    Caused by: android.util.AndroidRuntimeException: requestFeature() must be called before adding content 
    at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:359) 
    at android.app.Activity.requestWindowFeature(Activity.java:3785) 
    at irisrecognition.example.com.irisrecognition.activity.CameraActivity.onCreate(CameraActivity.java:56) 
    at android.app.Activity.performCreate(Activity.java:6289) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758)  
    at android.app.ActivityThread.access$900(ActivityThread.java:177)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)  
    at android.os.Handler.dispatchMessage(Handler.java:102)  
    at android.os.Looper.loop(Looper.java:145)  
    at android.app.ActivityThread.main(ActivityThread.java:5942)  
    at java.lang.reflect.Method.invoke(Native Method)  
    at java.lang.reflect.Method.invoke(Method.java:372)  
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)  
+0

將錯誤記錄放在此處 –

+0

如果您要擴展應用程序活動,請將其替換爲活動並檢查您的代碼。 –

+0

我認爲你需要閱讀這個網址,它確實有解決你的問題,http://android-developers.blogspot.in/2013/08/actionbarcompat-and-io-2013-app-source.html –

回答

0

必須super.onCreate之前調用requestFeature。有必要super.onCreate() 之前調用requestFeature()之前super.onCreate

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
} 
+0

沒有錯誤,但標題仍然可見 – 4ndro1d

+0

你可以添加圖像的帖子?這會更有幫助 –

0

通話requestWindowFeature取代你的代碼,你可以試試這個:

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light"> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
</style> 

希望這會幫助你。

0

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     requestWindowFeature(Window.FEATURE_NO_TITLE);    
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
}