Думаю, коммент Дениса вызван тем фактом, что нынче развелось слишком много быдло-коппипастеров, которе ничего не хотят понимать, пофиг что писать, главное - работает. Это прискорбно.
В данном случае: метод startActivity принадлежит интерфейсу контекста. Частенько адаптеры и вью-холдеры делают внутренними нестатическими классами активити. А так как активити наследует (или имплементирует, не помню) контекст, то в таких классах вы можете использовать данный метод без проблем.
Но у вас адаптер - отдельный класс. Соответственно, у вас нет внешнего класса откуда вы можете вызвать старт активити, и ваш копипаст со стековерфлов не работает.
Да, вам как то нужно получить контекс, и вы это сделали. Лично меня коробит то, что вы получаете контекст у изображения холдера - это частный случай, не общий. Я бы получал контекст у холдер.гетВью() - ибо этот метод работает со всеми холдерами.
Стоит еще упомянуть что контекст контексту розень (по кранй мере на старых андройдах так). Не все что позволенно сделать с контекстрм активити можно сделать с контекстом сервиса. Но это нужно перепроверить.
heartdevil, я с вами полность согласн, мои, так сказать, возмущения, вызваны комментом FanatPHP. Просто сервис (служба) - объкт без обозначенного жизненного цикла какторый выполняет какую-то работу в рамках бизнес-логики не меняя при этом внутреннего состояния. Все быть сервисам не может.
Если ты получаеш что-то через Service Locator - это не значит что то что ты получаеш является сервисом в понимании бизнес-логики.
Артём Петренков, Да пускай - я последствий не боюсь: во первых я ничего плохого не сделал, убытков никому не принес. Во вторых - компания публичная, врядли кто-тозахочет выносить сор из избы. Ну а если вынесут - это только в плюс, я развоняюсь на пол страны - для них - репутационные потри, для меня - PR )))
Мне больше интересно законно ли это вообще - просто нам в универе говорили что вроде как законно, если только с целью изучения. Но это было в 2005 году, интересно, сейчас так же?
Тимур Худиев: Схема - это описание таблицы (список столбцов, их типы, и т.п.). Для работы AR Yii делает запросы схем таблиц. Не помню точно сколько там запросов, но делает. При разработке схемы меняются (например, добавили столбец в таблицу). На продакшене - нет. Только при обновлении релиза, при нем нужно кеш очщать.
Добавлю лишь что часть из этих запросов - получение схем таблиц. Их тоже можно и нужно кешировать. Но рекомендую кешировать их только на проде (так как для конкретного релиза - это, по сути, статичная информация). На деве это создаст лишь дополнительные проблемы при разработке.
Думаю, коммент Дениса вызван тем фактом, что нынче развелось слишком много быдло-коппипастеров, которе ничего не хотят понимать, пофиг что писать, главное - работает. Это прискорбно.
В данном случае: метод startActivity принадлежит интерфейсу контекста. Частенько адаптеры и вью-холдеры делают внутренними нестатическими классами активити. А так как активити наследует (или имплементирует, не помню) контекст, то в таких классах вы можете использовать данный метод без проблем.
Но у вас адаптер - отдельный класс. Соответственно, у вас нет внешнего класса откуда вы можете вызвать старт активити, и ваш копипаст со стековерфлов не работает.
Да, вам как то нужно получить контекс, и вы это сделали. Лично меня коробит то, что вы получаете контекст у изображения холдера - это частный случай, не общий. Я бы получал контекст у холдер.гетВью() - ибо этот метод работает со всеми холдерами.
Стоит еще упомянуть что контекст контексту розень (по кранй мере на старых андройдах так). Не все что позволенно сделать с контекстрм активити можно сделать с контекстом сервиса. Но это нужно перепроверить.