Класс деятельности в android расширяет класс контекста. Таким образом, в основном деятельность является контекстом. Но контекст может не быть активным.
fragment.getContext()
вернет контекст контейнера, к которому он прикреплен. Итак, да container.getContext()
будет иметь те же результаты, что и у fragment.getContext()
т. Е. Активности хозяина.
Когда экземпляр ViewGroup создан, надуватель передает контекст этой активности к нему. Значения container.getContext()
вернут тот же контекст.
fragment.getActivity()
будет возвращать деятельность, к которой он прикреплен, с которым снова является контекст. Когда фрагмент отделен от действия, он возвращает значение null. И при прикреплении он также возвращает то же самое, что и getContext()
И о вашем последнем вопросе view.getContext()
возвращает контекст, в котором он запущен. Просмотр не расширяет Контекстный класс, infact, когда они созданы, им нужен объект контекста в качестве параметра. Поэтому, когда вы создаете представление внутри действия, вам необходимо передать Context. И когда вы вызываете view.getContext()
, вы получите тот же контекст, который вы передали, когда вы его создали.
поэтому мы можем передать «контекст приложения» для просмотра при его создании? – q126y
вы можете передать 'getContext()' или 'getActivity(). GetApplicationContext()' при создании представлений в вашем приложении. но обычно представления создаются в XML, а надуватель - все остальное. –
«Итак, yes container.getContext() будет иметь те же результаты, что и для фрагмента.getContext() ie., Host activity." Но если 'container' был завышен с использованием« контекста приложения », у нас был бы другой контекст для' fragment.getcontext() 'и' container.getContext' – q126y