tutorial studio navegar fragments example entre dinamicos diferencia desde boton activity abrir android android-fragments android-nested-fragment

android - studio - fragmenttransaction



Android: Fragmento padre de un fragmento anidado (1)

Un getParentFragment() de mi fragmento anidado está devolviendo un null . Me doy cuenta de que obtener un null significa que el fragmento se adjunta a la actividad y no al fragmento del contenedor anidado. Pero estoy anidando explícitamente el fragmento secundario dentro del fragmento primario utilizando el FragmentManager secundario y, por lo tanto, creo que no debería obtener un null . ¿Podrías decirme lo que me falta?

Fragmento padre

public class UsageBreakUp extends Fragment implements Filter.OnFragmentInteractionListener { .... @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); getChildFragmentManager().beginTransaction().add(R.id.filter, new Filter()).commit(); } ... }

Fragmento de niño

public class Filter extends Fragment { ... public Filter() { if (getParentFragment() == null) Log.d(LOG_TAG, "parent fragment is null"); } ... }


Estaba llamando a getParentFragment() en el constructor del fragmento hijo y, por lo tanto, antes de que el fragmento hijo se creara por completo. Cambiar getParentFragment() a onCreateView() resolvió el problema. El cambio no fue un problema, ya que estaba llamando a getParentFragment() para verificar si el fragmento principal había implementado un escucha de interacción de fragmentos secundarios.