Intereting Posts
Android – установить ProgressBar как вертикальную полосу вместо горизонтальной? Ffmpeg Build Output не отображается? Полупрозрачные TextureView не работают Отправленные / доставленные SMS: как вы определяете, к каким SMS-вещам принадлежит? Makecaleupanimation from appwidget Проверьте ход загрузки и загрузки (API для Google Диска для Android или Java) Центральное сообщение в диалоговом окне андроида У слушателей возникают утечки памяти, если они не удалены из разрушенного действия? Контейнер «Зависимости от Android» ссылается на не существующую библиотеку «facebook-android-sdk \ facebook \ bin \ com_facebook_android.jar» Установите политику истечения срока действия для кеша с помощью Google Volley Как добавить события календаря в Android, которые не становятся ориентировочными встречами в обмен? Как решить SkImageDecoder :: Factory возвращает null Предотвратить показ веб-страницы «веб-страница недоступна» Получение дочерних элементов из LinearLayout Уменьшение размера видеофайла MediaMuxer (повторное сжатие, уменьшение разрешения)

FindFragmentByTag – поиск фрагмента в FragmentTabHost – всегда null

У меня возникли проблемы с получением указателя на фрагмент, который является видимым в данный момент фрагментом в FragmentTabhost.

У меня есть SecondActivity 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; } 

Теперь, когда я во второй вкладке, у меня есть фоновая задача, выполняемая в классе, инициированном исходной активностью SecondActivity , тогда я называю это, которая должна дать мне ссылку на вкладку, но она всегда возвращает значение null!

NewsFragment newsView = (NewsFragment) delegate.getSupportFragmentManager().findFragmentByTag("Tab2");

Переменная delegate является указателем на SecondActivity когда он запускает фоновый класс.

Как получить указатель на фрагмент вкладки? Я ошибаюсь, что «Tab2», установленный при добавлении вкладок, является тегом для фрагмента?

Мне не очень нравится отвечать на мои собственные вопросы, но это потрясающе, что может спать на нем. Этот монстр дает мне указатель на фрагмент в табусте

 NewsFragment newsView = (NewsFragment) delegate .getSupportFragmentManager() .findFragmentByTag("tabsfragment") .getChildFragmentManager() .findFragmentByTag("Tab2");