requestFeature() must be called before adding content

來源:互聯網
上載者:User

標籤:

錯誤: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,這時再使用上述兩種方法去掉標題列,當應用點擊菜單鍵的時候則會出現null 指標異常的錯誤,或者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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.