findFragmentByTag - sucht-fragment in FragmentTabHost - immer null
Ich habe Probleme dabei einen Zeiger auf ein Fragment, welches ist die derzeit sichtbare fragment in einer FragmentTabhost.
Ich habe eine SherlockFragmentActivity
genannt SecondActivity
lädt der Tabhost aus onCreate
Methode wie diese:
if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) {
Fragment f = new TabsFragment();
getSupportFragmentManager().beginTransaction().add(android.R.id.content, f, "tabsfragment").commit();
}
TabsFragment
ist ein SherlockFragment
Unterklasse mit diesem onCreate
Methode zum erstellen der 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;
}
Wenn ich jetzt in der 2. Registerkarte, ich habe eine hintergrund-Aufgabe eine Klasse, die initiiert wird durch die ursprüngliche Aktivität SecondActivity
, dann habe ich dies nennen soll, um mir eine Referenz zu der Registerkarte, aber es gibt immer null!
NewsFragment newsView = (NewsFragment) delegate.getSupportFragmentManager().findFragmentByTag("Tab2");
Den delegate
variable ist ein Zeiger zurück auf SecondActivity
wenn es beginnt, den hintergrund Klasse.
Wie bekomme ich einen Zeiger auf die Register-fragment?
Bin ich falsch, dass "Tab2" gesetzt, wenn das hinzufügen der Registerkarten ist die Tag
für das fragment?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich mag nicht wirklich die Beantwortung meiner eigenen Fragen, aber es ist erstaunlich, was auf ihm schlafen kann.
Dieses monster gibt mir einen Zeiger auf das fragment in der tabhost