Ich habe Probleme, einen Zeiger auf ein Fragment zu bekommen, welches das aktuell sichtbare Fragment in einem FragmentTabhost ist.findFragmentByTag - Suche nach Fragment in FragmentTabHost - immer null
Ich habe eine SherlockFragmentActivity
SecondActivity
genannt, die die TabHost aus es onCreate
Methode wie folgt laden:
if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) {
Fragment f = new TabsFragment();
getSupportFragmentManager().beginTransaction().add(android.R.id.content, f, "tabsfragment").commit();
}
TabsFragment
ist eine SherlockFragment
Unterklasse mit dieser onCreate
Methode, um den Tabs
@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;
}
Jetzt zu erstellen, wenn Ich bin in der 2. Registerkarte, habe ich eine Hintergrundaufgabe in einer Klasse, die von der ursprünglichen Aktivität SecondActivity
initiiert wird, dann rufe ich das, was s ist Ich habe einen Hinweis auf die Registerkarte, aber es gibt immer null zurück!
NewsFragment newsView = (NewsFragment) delegate.getSupportFragmentManager().findFragmentByTag("Tab2");
Die delegate
Variable ist ein Zeiger zurück auf SecondActivity
, wenn sie die Hintergrundklasse beginnt.
Wie bekomme ich einen Zeiger auf das Fragment der Registerkarte? Falsche ich, dass "Tab2" beim Hinzufügen der Registerkarten ist Tag
für das Fragment?
Große Antwort .. Sie meine Zeit spart .. Vielen Dank für Sie ... :) – Gunaseelan
hervorragende Antwort ..... –