Ho problemi a ottenere un puntatore a un frammento che è il frammento attualmente visibile in un FragmentTabhost.findFragmentByTag - cerca frammento in FragmentTabHost - sempre null
Ho un SherlockFragmentActivity
chiamato SecondActivity
che carica il Tabhost da esso è onCreate
metodo come questo:
if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) {
Fragment f = new TabsFragment();
getSupportFragmentManager().beginTransaction().add(android.R.id.content, f, "tabsfragment").commit();
}
TabsFragment
è una sottoclasse SherlockFragment
con questo metodo onCreate
per creare le linguette
@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;
}
Ora, quando Sono nella seconda scheda, ho un compito in background fatto in una classe che è iniziata dall'attività originale SecondActivity
, quindi chiamo questo che è s alzato per darmi un riferimento alla scheda, ma restituisce sempre null!
NewsFragment newsView = (NewsFragment) delegate.getSupportFragmentManager().findFragmentByTag("Tab2");
La variabile delegate
è un puntatore di nuovo a SecondActivity
quando inizia la classe di sfondo.
Come si ottiene un puntatore al frammento della scheda? Ho sbagliato che "Tab2" impostato quando si aggiungono le schede è lo Tag
per il frammento?
Grande risposta .. Si salva il mio tempo .. Un grande grazie per voi ... :) – Gunaseelan
risposta superba ..... –