ClassCastException en una subclase de ListFragment utilizando la biblioteca de compatibilidad

Esto sólo ocurre cuando se utiliza la biblioteca de compatibilidad para dispositivos anteriores a 3.0

Estoy recibiendo un error que no puedo identificar. Tengo una actividad con un ListFragment y un fragmento estándar. Es igual que el ejemplo proporcionado en la sección de desarrolladores de la Guía de desarrollo de Android.

ListFragment Subclase (sin funciones sobrescritas)

public class ItemListFragment extends ListFragment 

Actividad principal

 public class ItemViewerActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.item_viewer); } } 

Diseño de Xml para MainActivity

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> <fragment class="org.example.ItemListFragment" android:id="@+id/item_list_fragment" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" /> <FrameLayout android:id="@+id/item_info_frame" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" /> </LinearLayout> 

Mensaje de error de LogCat

ERROR / AndroidRuntime: Causado por: java.lang.ClassCastException: org.example.ItemListFragment no se puede convertir en android.app.Fragment

Después de algunos googling serio, encontré un artículo que señaló un tidbit poco agradable. Al utilizar la biblioteca de compatibilidad, sus actividades que utilizan fragmentos tienen que extender FragmentActivity. Una vez que lo hice, el error no se presentó de nuevo.

Para mí el problema era que me había olvidado de cambiar el manifiesto. Siguiendo la sugerencia del tutorial, convertí mi actividad en un fragmento e hice una actividad de shell para llamarla. Mi manifiesto todavía apuntaba a la clase Fragment que conduce a una excepción de clase.

  • Android KitKat: android.view.InflateException: Error al inflar la clase android.support.design.widget.NavigationView
  • Barra de herramientas android popupTheme vs theme
  • Error de la biblioteca de soporte técnico de Android 23.2.0 al establecer style = "@ style / Widget.AppCompat.Button.Colored"
  • Cómo agregar Snackbars en un BroadcastReceiver?
  • 23.2.0 conjunto vector dibujable como fondo en 4.X
  • Agregue soporte JS y CSS al proyecto de Android Studio
  • Google Play Services 9.2.0 clases perdidas
  • Librería de soporte de Android 23.4.0: android.support.v7.widget.TintContextWrapper no se puede publicar en Actividad
  • SearchView on support.v7.appcompat problema de la biblioteca: el fondo de 9 parches predeterminado no se procesa correctamente
  • Abc_ic_ab_back_material recurso no encontrado en la biblioteca de soporte 23.2.1
  • Cómo utilizar AutoScrollHelper
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.