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

Android Fragment 靜態加載失效:必須繼承 FragmentActivity 而非 Activity

     編輯:程式設計疑難解答

現象

XML 中靜態聲明 <fragment>,運行報錯;加 android:baselineAligned="false" 也報錯。

根本原因

代碼使用 android.support.v4.app.Fragment(v4 包),但 MainActivity 繼承 android.app.Activity(框架原生)。兩者不兼容,導致類型轉換失敗。

修正

// MainActivity.java
import android.support.v4.app.FragmentActivity; // 導入 v4 包

public class MainActivity extends FragmentActivity { // 改為 FragmentActivity
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

補充

  • 若使用 AndroidX,請繼承 androidx.fragment.app.FragmentActivity。
  • 動態添加 Fragment 時同樣需使用 getSupportFragmentManager()。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved