Подтвердить что ты не робот

Загрузка макета в onCreateView для пользовательских настроек

Можно ли загрузить макет из xml во время вызова onCreateView, я попробовал:

  • setLayoutResource (R.layout.test);
  • setWidgetLayoutResource (R.layout.test);

он падает, и я не знаю, что вернуть родительский элемент ViewGroup из аргументов метода? Я также пробовал:

  • View view = View.inflate(getContext(), R.layout.test, parent), но он тоже не работал.

Я назвал корневой макет widget_frame, но он не помог

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent" 
 android:padding="1dp" android:clickable="false" android:id="@+id/widget_frame">
 <LinearLayout ....

Не могли бы вы рассказать мне, что я делаю неправильно или указать на какой-то рабочий пример. Благодаря

Обновление

Ниже приведено предложение о том, как раздуть над макетом:

    LayoutInflater inflater =  (LayoutInflater)getContext().
                              getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View view = inflater.inflate(R.layout.test, parent, false);
4b9b3361

Ответ 1

Если вы используете onCreateView, я думаю, вы используете либо fragment, либо расширяете View. В любом случае, проверьте это:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(R.layout.your_layout, container);
}

Ответ 2

Если вы раздуваете макет, вы должны сделать что-то вроде этого:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
     return inflater.inflate(R.layout.your_layout, null);
}