我想添加一個support.v4.app.Fragment
到PreferenceActivity
頭,像這樣:Android:解決方法support.v4.app.Fragment - >片段classcastexception?
<header
android:fragment="com.example.SupportFragmentSubClass"
android:title="Selecting this should show the accompanying fragment" >
</header>
這將引發一個ClassCastException,大概是因爲PreferenceActivity期待一個子類的android.app.Fragment
,而不是support.v4.app.Fragment
。
我的用例是這樣的:
我有非標準的片段,我想用作偏好在< 3.0和> 3.0設備上。對於> = 3.0,我需要一個android.app.Fragment
子類,以便它可以嵌入到平板設備上的首選項活動的「詳細信息窗格」中。對於< 3.0,我需要一個v4.support.app.Fragment
子類,所以我可以在其中輸入ActivityFragment
。
有沒有一種解決方法可以讓我在這種情況下使用兼容性片段?
對不起,我不認爲@CommonsWare的解決方案是完美的。其實,我們需要一個PreferenceFragment compat。由於PreferenceFragment可以放置在任何活動的任何佈局中,即使該活動從ActionBarActivity擴展而來。 PreferenceActivity不從ActionBarActivity擴展,它在所有Android版本中沒有一致的ActionBar佈局。 – Lei 2013-08-20 10:03:28