Я следую этому руководству по реализации пользовательских настроек. http://android -journey.blogspot.com / 2010/01 / для-почти любой-приложений, мы-потребность-to.html . В методе
@Override protected View onCreateView(ViewGroup parent){ ... }
Руководство создает элементы программно, а затем возвращает вид. Я хотел бы получить макет из XML-файла. Но вызов getLayoutInflater() там недоступен. Как я могу получить инфлятор макета для получения представления, хранящегося в файле "progressbarpreference.xml"?
getLayoutInflater()
У меня есть статическая ссылка на контекст приложения, доступный при необходимости
Спасибо
LayoutInflater li = (LayoutInflater) ctx.getSystemService(Service.LAYOUT_INFLATER_SERVICE);
должен добиться цели (ctx - это контекст вашего приложения в этом случае).
ctx
LayoutInflater inflater = LayoutInflater.from(this); inflater.inflate(R.layout.yourcustomviewxml, layout);
Получено из вопроса, который я задал: Как передать AttributeSet в пользовательский вид Спасибо, Ян!
Используйте статическую ссылку, предположим, что это контекст.
rowLayout = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.progress_bar, parent, false);
где progress_bar - это идентификатор линейного макета.