estoy tratando de añadir un support.v4.app.Fragment
a un PreferenceActivity
cabecera, así:Android: solución para support.v4.app.Fragment -> Fragment classcastexception?
<header
android:fragment="com.example.SupportFragmentSubClass"
android:title="Selecting this should show the accompanying fragment" >
</header>
Esto arroja una ClassCastException, presumiblemente debido a la PreferenceActivity está esperando una subclase de android.app.Fragment
, en lugar de support.v4.app.Fragment
.
Mi caso de uso es este:
Tengo un Fragmento no estándar que quiero usar como preferencia tanto en < 3.0 como en> 3.0 dispositivos. Para> = 3.0, necesito una subclase android.app.Fragment
para que se pueda incrustar en el 'panel de detalles' de la actividad de preferencias en dispositivos tablet. Para < 3.0, necesito una subclase v4.support.app.Fragment
para que pueda arrojar un ActivityFragment
.
¿Existe alguna solución que me permita utilizar un Fragmento de compatibilidad en esta situación?
Lo siento, no creo que la solución de @CommonsWare sea perfecta. En realidad, necesitamos un PreferenceFragment compat. Debido a que PreferenceFragment se puede colocar en cualquier diseño de cualquier actividad, incluso la actividad se extiende desde ActionBarActivity. PreferenceActivity no se extiende desde ActionBarActivity, no tiene un diseño de ActionBar uniforme en todas las versiones de Android. – Lei