首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android requestWindowFeature 無標題崩潰:必須在 setContentView 之前調用

     編輯:程式設計疑難解答

錯誤現象

requestWindowFeature(Window.FEATURE_NO_TITLE); 放在 setContentView() 之後 → Activity 啟動閃退。

規則

Window 特性必須在**視圖層級建立前**設定,即 super.onCreate() 之後、setContentView() 之前。

正確順序

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE); // 1. 先設定特性
    setContentView(R.layout.activity_main);        // 2. 再載入佈局
    // 其他初始化...
}

常見誤區

  • 以為放在 onCreate 任意位置皆可。
  • 部分主題 (Theme) 已內建無標題,如 Theme.AppCompat.Light.NoActionBar,在 Manifest 設定主題可完全替代代碼調用。

主題替代方案 (推薦)

<activity
    android:name=".MainActivity"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar" />

無需代碼調用,且避免閃爍。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved