У меня возникли проблемы с получением указателя на фрагмент, который в настоящее время является видимым фрагментом в FragmentTabhost.
У меня есть SherlockFragmentActivity
с именем SecondActivity
, который загружает Tabhost из своего метода onCreate
следующим образом:
if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) {
Fragment f = new TabsFragment();
getSupportFragmentManager().beginTransaction().add(android.R.id.content, f, "tabsfragment").commit();
}
TabsFragment
является подклассом SherlockFragment
с этим методом onCreate
для создания вкладок
@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;
}
Теперь, когда я нахожусь на 2-й вкладке, у меня есть фоновая задача, выполненная в классе, который инициируется исходной активностью SecondActivity
, затем я вызываю ее, которая должна дать мне ссылку на вкладку, но она всегда возвращает ноль!
NewsFragment newsView = (NewsFragment) delegate.getSupportFragmentManager().findFragmentByTag("Tab2");
Переменная delegate
является указателем на SecondActivity
, когда она запускает фоновый класс.
Как получить указатель на фрагмент вкладки? Я ошибаюсь, что «Tab2», установленный при добавлении вкладок, является Tag
для фрагмента?