publicImageAdapter(Context c) { this.c = c; } ... }
Проблема в том, что я хочу создать ImageAdapter как одноэлементный, чтобы иметь легкий доступ к экземпляру этого класса из всех моих действий. Но я понятия не имею, как передать контекст приложения из метода getApplicationContext () из одного из моих activities в ImageAdapter. Итак, есть ли какая-нибудь "магия", чтобы сделать это следующим образом?
Возможно, у вас есть какие-то другие идеи по использованию ImageAdapter для любых моих действий. Я новичок в Android, и меня немного смущают способы передачи данных между действиями.
Я буду благодарен за любую помощь.
Переведено автоматически
Ответ 1
Обновление: 06-18 марта
Используйте MyApplication instance вместо Context экземпляра. Application instance сам по себе является экземпляром одноэлементного контекста.
Я бы предпочел передавать экземпляр контекста в качестве параметра каждому методу в singleton, которому это действительно нужно
Ответ 3
ПОДХОД № 1:
Поскольку вы указываете, что ImageAdapter является одноэлементным, один простой ответ - создать этот одноэлементный класс из класса, который имеет доступ к контексту приложения:
Если бы это был не одноэлементный класс, я бы использовал принятый ответ. В этом случае удалите локальную переменную из ImageAdapter, потому что контекст всегда можно получить из MyApplication. Развивая принятый ответ, если вам нужен локальный метод для удобства, определите ImageAdapter.getContext() . Полное решение.: