Создавайте представления программно, используя XML на Android
Я хочу создать макет пользовательского интерфейса в XML и вставить его как дочерний элемент в существующее представление (оно будет вставлено несколько раз).
Например, вот что будет содержать файл XML:
<RelativeLayout
android:id="@+id/relativeLayout1" >
<Button android:id="@+id/myButton"
android:text="@string/mystring" />
</RelativeLayout>
Теперь я получил родительский LinearLayout и теперь хочу добавить этот XML-файл в качестве дочернего представления, например:
LinearLayout linear = (LinearLayout)findViewById(R.id.myLayout);
//need to create a view object from the xml file
linear.addView(myXmlObject);
Можно ли преобразовать ресурс XML в тип представления? Если так, как бы я это сделал?
1 ответ
Решение
Я верю, что вы хотите LayoutInflater. Допустим, ваш пример XML находится в файле custom_layout.xml
:
LayoutInflater inflater = LayoutInflater.from(context);
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.custom_layout, null, false);
LinearLayout linear = (LinearLayout)findViewById(R.id.myLayout);
linear.addView(layout);