Создание представлений программным способом с помощью 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);