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.

  • Error: (28, 34) error: paquete android.support.annotation no existe
  • Obtener referencia al conmutador del cajón en la barra de acción de soporte
  • La biblioteca de soporte de RenderScript V8 falla al compilar
  • Biblioteca FloatingActionButton de terceros en CoordinatorLayout
  • ¿Dónde puedo encontrar android.support.v7.mediarouter.R $ attr?
  • ¿Cómo puedo habilitar javadoc para la biblioteca de soporte de Android?
  • CollapsingToolbarLayout comportamiento de desplazamiento en las tabletas
  • Android SeekBar no puede ser de ancho completo incluso establecer padding 0 en AppCompat 23.1.0
  • HTC One X - muestra icono de menú "compatibilidad"
  • Java.lang.NoClassDefFoundError: android.support.v4.view.LayoutInflaterCompat
  • DrawerLayout - Excepción que envía el evento de entrada
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.