Intereting Posts
Тест-класс Android не удается скомпилировать в eclipse с ошибкой «связанного несоответствия» Nexus 10, передняя камера. Предварительный просмотр черный (без предварительного просмотра) Невозможно создать обработчик внутри потока, который не вызвал Looper.prepare () в CountDownTimer Android WebView воспроизводит аудио с помощью javascript Вычисление расстояния между двумя точками широты и долготы в android Проблемы с рендерингом android.support.v7.internal.app.WindowsDecorActionBar Правильная конвертация камеры2 YUV_420_888 в JPEG Добавление события с напоминаниями в календарь с помощью метода Intent.putExtra () TextView не прокручивается Smoothly Как сделать textView полностью завершенным многострочным контентом? Asynctask: передать два или более значения из doInBackground в onPostExecute Android 4.0 ICS Webview с «Неизвестная ошибка хрома: -324» Съемка видео или фотоснимков с одной и той же кнопки с помощью функции Android Camera Intent Использование Twitter4j в android, получение ошибки lint в библиотеке – Недопустимая ссылка на пакет в библиотеке Отложенные групповые сообщения в openfire

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");