Я ничего не могу найти на этом ... Мне интересно, когда у меня есть фрагмент внутри действия, почему я не могу назвать некоторые вещи, такие как getPackageName() и getContentResolver()?Поведение фрагментов в Android
ответ
Звонок из нестационарной функции внутри фрагмента, после того как он прикреплен к активности.
getActivity().getPackageName();
getActivity().getContentResolver();
Как заявил ваш комментатор, это не фрагментные функции, вы должны получить экземпляр contextWrapper.
Это должно быть отмечено как ответ. – Harry
Потому что согласно this documentation, методы, которые вы упомянули, являются методами класса Context. Активность - это подкласс контекста, поэтому он имеет эти методы. Фрагмент, однако, нет. Существует два способа получить эти методы из фрагмента:
Первый вариант: после того, как ваш фрагмент был прикреплен (вызывается метод onAttach()), вы можете использовать метод getActivity() для получения активности, которая он был прикреплен к. Затем вы можете использовать getPackageName() и getContentResolver(). Например: getActivity(). GetPackageName(). Для большей безопасности, вы можете сделать:
Activity myActivity = getActivity();
if (myActivity != null)
{
myActivity.getPackageName();
myActivity.getContentResolver();
}
else
{
//deal with the null problem
}
Второй вариант: В методе onCreateView(), ваш фрагмент будет не прилагается, так что вы не можете использовать вышеупомянутый метод. Вы можете использовать LayoutInflater, чтобы получить представление. Затем вызовите getContext() в представлении. Например:
View myView = inflater.inflate(R.layout.my_fragment_layout, container, false);
myView.getContext().getPackageName();
myView.getContext().getContentResolver();
- 1. поведение промахов и фрагментов
- 2. Тестирование фрагментов в Android
- 3. поведение фрагментов, как в приложении Gmail
- 4. Android - Организация фрагментов фрагментов и принципов MVC
- 5. Android - Изменение фрагментов в действии
- 6. Скрытие/отображение фрагментов в Android
- 7. Эффективное использование фрагментов в Android
- 8. Android: Использование фрагментов
- 9. Android - Использование фрагментов
- 10. Архитектура нескольких фрагментов Android
- 11. Android управляет кругами фрагментов
- 12. При использовании фрагментов Android?
- 13. Несколько фрагментов Android Studio
- 14. Действия Android для фрагментов
- 15. Android: Слияние двух фрагментов
- 16. Осколки Android-фрагментов
- 17. Использование фрагментов на Android
- 18. Android: оптимизация переходов фрагментов
- 19. Android - Адаптеры Выпущенных фрагментов
- 20. Удаление фрагментов Android навсегда
- 21. Сбой активности фрагментов Android
- 22. Android: ViewPager - добавление фрагментов
- 23. Поведение прокрутки AppBarLayout не работает для вложенных фрагментов
- 24. Множество фрагментов в Android в ландшафтном режиме
- 25. Android FragmentManagerImpl.dispatchResume() возобновление фрагментов не в порядке
- 26. Проблема изменения ориентации фрагментов Android
- 27. Android PagerAdapter для разных фрагментов
- 28. Android Вызов объектов из фрагментов
- 29. Android: Добавление фрагментов с android.R.id.content
- 30. Использование статических фрагментов для Android
потому что эти методы не из фрагмента ... – Selvin