FindFragmentByTag – buscando fragmento en FragmentTabHost – always null

Estoy teniendo problemas para obtener un puntero a un fragmento que es el fragmento visible en un FragmentTabhost.

Tengo una SherlockFragmentActivity llamada SecondActivity que carga el Tabhost de su método onCreate como este:

 if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) { Fragment f = new TabsFragment(); getSupportFragmentManager().beginTransaction().add(android.R.id.content, f, "tabsfragment").commit(); } 

TabsFragment es una subclase SherlockFragment con este método onCreate para crear las pestañas

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mTabHost = new FragmentTabHost(getActivity()); mTabHost.setup(getActivity(), getChildFragmentManager(), R.layout.tabs); mTabHost.addTab(mTabHost.newTabSpec("Tab1").setIndicator("Offers", getResources().getDrawable(R.drawable.offersale)), OfferListFragment.class, null); mTabHost.addTab(mTabHost.newTabSpec("Tab2").setIndicator("News", getResources().getDrawable(R.drawable.newspaper)), NewsFragment.class, null); return mTabHost; } 

Ahora, cuando estoy en la segunda pestaña, tengo una tarea de fondo hecha en una clase que se inicia por la actividad original SecondActivity , entonces llamo a esto que se supone que me da una referencia a la ficha, pero siempre devuelve null!

NewsFragment newsView = (NewsFragment) delegate.getSupportFragmentManager().findFragmentByTag("Tab2");

La variable delegate es un puntero de regreso a SecondActivity cuando se inicia la clase de fondo.

¿Cómo obtengo un puntero al fragmento de la pestaña? ¿Estoy equivocado que "Tab2" establecido al agregar las pestañas es la Tag para el fragmento?

Realmente no me gusta responder a mis propias preguntas, pero es increíble lo que puede dormir en él. Este monstruo me da un puntero al fragmento en el tabhost

 NewsFragment newsView = (NewsFragment) delegate .getSupportFragmentManager() .findFragmentByTag("tabsfragment") .getChildFragmentManager() .findFragmentByTag("Tab2"); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.