Как получить Inflater макета с учетом контекста? - PullRequest
212 голосов
/ 06 февраля 2010

Я пишу пользовательскую реализацию ListAdapter.

В его конструкторе я использую контекст, идентификатор ресурса (то есть R.id.xxx, представляющий файл макета), а также список и карту (они содержат данные).

Теперь проблема в том, что мне потребуется LayoutInflater для получения объекта View, который находится в отдельном XML-файле макета.

Как мне получить LayoutInflater только с учетом контекста?

Теперь, почему я думаю, что это возможно, это то, что это очень похоже на то, что передается в конструктор ArrayAdapter (context, resource, textViewResourceId, массив данных), и я думаю, что ArrayAdapter также должен сделать использование LayoutInflater только для контекста.

Но как это можно сделать?

Ответы [ 2 ]

496 голосов
/ 06 февраля 2010

Вы можете использовать метод static from() из LayoutInflater класса :

 LayoutInflater li = LayoutInflater.from(context);
52 голосов
/ 17 ноября 2010

Вы также можете использовать этот код для получения LayoutInflater:

LayoutInflater li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)
...