Sto cercando di aggiungere un support.v4.app.Fragment
a una PreferenceActivity
intestazione, in questo modo:Android: soluzione alternativa per support.v4.app.Fragment -> Framment classcastexception?
<header
android:fragment="com.example.SupportFragmentSubClass"
android:title="Selecting this should show the accompanying fragment" >
</header>
Questo getta una ClassCastException, presumibilmente perché il PreferenceActivity si aspetta una sotto-classe di android.app.Fragment
, piuttosto che support.v4.app.Fragment
.
mio caso d'uso è questo:
ho Frammento non standard che voglio usare come una preferenza su entrambi i dispositivi < 3.0 e> 3.0. Per> = 3.0, ho bisogno di una sottoclasse android.app.Fragment
in modo che possa essere incorporata nel "riquadro dettagli" dell'attività delle preferenze sui dispositivi tablet. Per < 3.0, ho bisogno di una sottoclasse v4.support.app.Fragment
in modo da poter inserire un ActivityFragment
.
Esiste una soluzione che mi consenta di utilizzare un frammento di compatibilità in questa situazione?
Scusa, non penso che la soluzione di @CommonsWare sia perfetta. In realtà, abbiamo bisogno di una compatibilità PreferenceFragment. Poiché PreferenceFragment può essere inserito in qualsiasi layout di qualsiasi attività, anche l'attività si estende da ActionBarActivity. PreferenceActivity non si estende da ActionBarActivity, non ha un layout ActionBar coerente in tutte le versioni di Android. – Lei