Я использую библиотеки для сборки некоторых карт, мой java расширяет класс библиотеки. Теперь у меня есть требование использовать FragmentManager в моем классе java. Я пытался сделать это с использованием внутреннего класса, но получаю исключение из нулевого указателяКак получить диспетчер фрагментов без расширения активности
ответ
Если у вас есть Activity
ссылка: activity.getFragmentManager()
Если у вас есть Fragment
ссылка: fragment.getFragmentManager()
Они оба public
методы, но вам нужна ссылка либо деятельности или фрагмента.
Кроме того, и хотя я не рекомендую, если у вас есть View
ссылки, метод view.getContext()
будет вероятно быть Activity
, так что вы можете быть в состоянии бросить и получить FragmentManager
таким образом. Но это потенциально опасно и может перестать работать в любой момент, если изменения в Android изменяются, поэтому вы должны действительно знать, что делаете. Передача справки о действии/фрагменте действительно является способом выхода.
Вставка кода ниже: public class CustomExpandCard расширяет CardExpand { Строка text1; public CustomExpandCard (контекст контекста, строка текста1, строка текста2, строка текста3, строка текста4) { супер (контекст, R.layout.carddemo_example_inner_expand); this.text1 = text1; } } Должен ли я создать внутренний класс и передать в него контекст. На самом деле я новичок в андроиде, могу сказать мне пример кода, это очень поможет –
getFragmentManager()
является public
non-static
метод Activity
. Поэтому, чтобы получить FragmentManager
, вам необходимо иметь activity
's context
. Поэтому, даже если вы не продляете класс activity
, вам необходимо иметь его context
.
Также ознакомьтесь с описанием этого метода, он очистит все.
Возврат FragmentManager для взаимодействия с фрагментами, связанными с этим действием.
/**
* Return the FragmentManager for interacting with fragments associated
* with this activity.
*/
public FragmentManager getFragmentManager() {
return mFragments.getFragmentManager();
}
Так что без activity
, FragmentManger
не существует.
- 1. Как перемещаться по активности фрагментов?
- 2. Отслеживание фрагментов в активности?
- 3. Диспетчер расширения Resharper пуст
- 4. Меню активности фрагментов андроида
- 5. Пропуск фрагментов в активности?
- 6. Сбой активности фрагментов Android
- 7. кнопки активности фрагментов
- 8. Как обрабатывать несколько фрагментов для одной активности
- 9. Обновление списка фрагментов из активности
- 10. Как получить доступ к ImageButton из фрагмента в активности фрагментов?
- 11. Лучший дизайн для активности фрагментов
- 12. Заполнение полей фрагментов из активности
- 13. Использование прослушивателя фрагментов без реализации в родительской активности
- 14. Как заполнить вид списка в активности фрагментов? .
- 15. Как создать пользовательский список без расширения активности списка?
- 16. Получить имя файла без расширения
- 17. Получить имя файла без расширения?
- 18. Как использовать LocalBroadcastManager без активности
- 19. Использование фрагментов в качестве рабочих для активности
- 20. Как получить имя файла без расширения?
- 21. Android Контекст без активности? И другое программирование без активности?
- 22. Сколько уровней активности/фрагментов можно начать?
- 23. Невозможно взаимодействовать с представлениями в активности фрагментов
- 24. Передача arraylist от нескольких фрагментов к активности
- 25. Получить экземпляр активности из вызываемой активности
- 26. Запретить мигание текущей активности при изменении фрагментов?
- 27. Добавление фрагментов к активности, использующей DrawerLayout
- 28. Обновления Android-фрагментов от новой активности
- 29. Обслуживание без активности. как?
- 30. ViewPager не для всех фрагментов активности
вы можете просто принять его как внешнюю зависимость, как параметр либо к конструктору, либо к методу. – ootinii