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?

InformationsquelleAutor Darren | 2013-05-17
Schreibe einen Kommentar