3 回答

TA貢獻1789條經驗 獲得超10個贊
android.support.v4.app.fragment
它是舊 Android 支持片段的包。
androidx.fragment.app.FragmentActivity
這是新碎片所在的地方。它取代了以前的包,因為它是一個更干凈的命名空間。這也稱為 Android X。
您看到的示例可能很舊并且仍然使用舊包。如果我沒記錯的話 Androidx 是在一兩年前推出的。
大多數情況下你可以簡單地替換導入,但我認為最好的方法是使用Android Studio的migrate to Androidx

TA貢獻1852條經驗 獲得超7個贊
首先,您使用不同的庫。
android.support.v4.app.*
包含在支持庫中。androidx.fragment.app.*
包含在androidx 庫中。
他們不能一起工作。檢查要遷移的信息。
那么 an?Activity
(或子類)就不是Fragment
.
您無法在 Activity 中投射 Fragment。

TA貢獻1802條經驗 獲得超6個贊
Activity
!=?Fragment
,您java.lang.ClassCastException
建議您要投射Fragment
到Activity
Activity
是全屏(大部分),Fragment
只是一個樣子,有點延伸View
。一個人Activity
可以處理多個Fragment
s,例如在更大的屏幕上。
FragmentActivity
在支持包中引入,用于處理Fragment
較低操作系統版本中的所有功能,現在您應該使用AppCompatActivity
哪個extends FragmentActivity
添加回答
舉報