Когда вы создаете адаптер, вы передаете Context в конструктор.В getView () вы можете вызвать getContext (). GetResources (). Get ... Это то, что вы искали?
Также,@MahdeTo прав: кажется, вы сохраняете прямую ссылку на контекст - не надо!Вы утечете свой контекст.Если вам абсолютно необходимо, используйте WeakReference и проверьте на null , но я не понимаю, зачем вам это нужно.
UPD: На самом деле не проблема с Adapter
s (tnx to @Arhimed и @Rperryng для указания на это), поскольку их правильное использование гарантирует, что их жизненный цикл не превышает жизненный цикл их Context
, так что это нормальносохраните действующую ссылку на Context
[, даже если сам адаптер имеет действующую ссылку в Context
- GC довольно умен, не одурачен круговыми ссылками] .Тем не менее, в этом случае нет необходимости делать это: ArrayAdapter.getContext()
существует именно для этой цели - так что вы можете получить доступ к ресурсам и получить Inflater
, когда вам нужно создать представления в getView()