Fragment.onCreateView tiene un contenedor nulo

Lo siguiente se está ejecutando en un Android 1.6 por lo que estoy utilizando el paquete de compatibilidad para los fragmentos. En el siguiente TestFragment es una clase anidada estática:

 public class FragmentTestActivity extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public static class TestFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { TextView result = new TextView(getActivity()); result.setText("Hello TestFragment"); return result; } } 

}

El archivo main.xml:

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <fragment class="com.test.FragmentTestActivity$TestFragment" android:id="@+id/test" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </FrameLayout> 

Lo extraño es que el parámetro container en onCreateView es null .

Ahora, si agrego el fragmento programatically como así (apenas cambie el método del onCreate de la actividad) el recipiente es null más nulo. ¿Por qué?

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Fragment frag = new TestFragment(); getSupportFragmentManager().beginTransaction().add(android.R.id.content, frag).commit(); } 

La documentación menciona que puede ser nula:

Public View onCreateView (Inflador LayoutInflater, contenedor ViewGroup, Bundle savedInstanceState)

[…]

Container: Si no es nulo , ésta es la vista principal a la que se debe enlazar la interfaz de usuario del fragmento. El fragmento no debe agregar la vista en sí , pero esto se puede utilizar para generar los LayoutParams de la vista.

Para ser claro: no deberías hacer nada como container.addView(...) .

  • Android Fragments ¿Debo reutilizar 1 fragmento o crear nuevas instancias?
  • Compruebe si elemento de vista se agrega al diseño o no se programa
  • Diseño lineal y peso en Android
  • R.styleable no se puede resolver, ¿por qué?
  • Lamentablemente, (nombre de la aplicación) se ha detenido. Eclipse / Android
  • La interfaz de usuario de Tablet no funciona en mi aplicación
  • Reutilización de diseños en el caso de un AppWidget
  • View.getWidth () no funciona en el método onCreate?
  • AppCompat_v7 Barra de herramientas como barra de acciones que no muestra acciones 'siempre' desde el menú, pero la barra de herramientas de la API no
  • ¿Son útiles las imágenes vectoriales para Android?
  • El ERROR sobre DrawerLayout (IllegalArgumentException: Ver android.widget.RelativeLayout no es un cajón deslizante)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.