#java #android #context
В андроиде есть context-ссылка, а на самой джаве есть this-ссылка. Так вот в чем разница контекста от зиса и можноли пример с контекстом а то я запутался в нем. Благодарю.
Ответы
Ответ 1
this и Context – это принципиально разные вещи. this – это ключевое слово языка Java. this – это ссылка на самого себя. Ссылка на объект, для которого был вызван метод. Context (в android) – это абстрактный класс, предоставляющий методы для доступа к т.н. глобальной информации (к ресурсам, классам, для управления активити, сервисами и так далее). Непосредственными субклассами классами Context являются классы ContextWrapper и MockContext. В свою очередь, прямыми субклассами класса ContextWrapper, в том числе, являются классы Application и Service, а непрямым – класс Activity. Пример с Context: getActivity().runOnUiThread(new Runnable() { @Override public void run() { // some actions } }); Здесь, для запуска кода в UI-потоке используется объект класса Activity (который является (непрямым) наследником класса Context). Еще один пример с Context: LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); Здесь в конструктор класса LinearLayoutManager передается объект класса Activity. Такой вызов, возможен, например, из фрагмента. Из самой активити можно напрямую вызвать: LinearLayoutManager layoutManager = new LinearLayoutManager(this); так как this в методах активити является как раз объектом класса Activity.
Комментариев нет:
Отправить комментарий