Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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(); } 

  • Intentando utilizar el tema holo en Android no funciona
  • ¿Cómo puedo conservar el estado de un elemento giratorio / desplegable seleccionado en el cambio de orientación?
  • ¿Por qué se envuelve el contenido en la línea múltiple TextView fill parent?
  • AnimateLayoutChanges no funciona bien con el diseño anidado?
  • Recorte de visualización de Android
  • Android: Barra de Acción
  • ¿Cómo saber cuándo una actividad finaliza un pase de diseño?
  • Dimensión de ViewPager de Android
  • One Solution collect form web for “Fragment.onCreateView tiene un contenedor nulo”

    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(...) .

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.