Получить разметку макета из ApplicationContext - PullRequest
6 голосов
/ 12 августа 2011

Я следую этому руководству по реализации пользовательских настроек. http://android -journey.blogspot.com / 2010/01 / для-почти любой-приложений, мы-потребность-to.html . В методе

@Override
protected View onCreateView(ViewGroup parent){
   ...
} 

Руководство создает элементы программно, а затем возвращает вид. Я хотел бы получить макет из XML-файла. Но вызов getLayoutInflater() там недоступен. Как я могу получить инфлятор макета для получения представления, хранящегося в файле "progressbarpreference.xml"?

У меня есть статическая ссылка на контекст приложения, доступный при необходимости

Спасибо

Ответы [ 3 ]

17 голосов
/ 12 августа 2011
LayoutInflater li = (LayoutInflater) ctx.getSystemService(Service.LAYOUT_INFLATER_SERVICE);

должен добиться цели (ctx - это контекст вашего приложения в этом случае).

2 голосов
/ 12 августа 2011
LayoutInflater inflater = LayoutInflater.from(this);
inflater.inflate(R.layout.yourcustomviewxml, layout);

Получено из вопроса, который я задал: Как передать AttributeSet в пользовательский вид Спасибо, Ян!

2 голосов
/ 12 августа 2011

Используйте статическую ссылку, предположим, что это контекст.

rowLayout = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.progress_bar, parent, false);

где progress_bar - это идентификатор линейного макета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...