Как динамически добавить макет? - PullRequest
0 голосов
/ 02 ноября 2011

Вот мой xml

<TextView android:id="@+id/itemNameTextView"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:textColor="#000000" android:textSize="30sp" 
    android:layout_centerVertical="true" android:drawableLeft="@drawable/doller"
    android:drawablePadding="30dp" android:layout_marginLeft="30dp"/>

<Button android:id="@+id/buttonAdd"
    android:layout_width="wrap_content" android:layout_height="fill_parent"
    android:textColor="#000000" android:background="#00000000"
    android:layout_alignParentRight="true" android:layout_marginRight="10dp"
    android:text="ADD" android:textSize="25sp" android:textStyle="bold" />

<EditText android:id="@+id/displayPriceEditText"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textColor="#000000" android:textSize="30sp" android:hint="0.00"
    android:layout_centerVertical="true" android:layout_toLeftOf="@id/buttonAdd"
    android:layout_marginRight="40dp" android:background="#00000000"/>

Я должен иметь возможность добавить некоторый текст как в editText, так и в textView, и когда я нажимаю кнопку, тот же самый макет должен появиться чуть ниже этого (как список). Может ли кто-нибудь помочь мне в этом?

Ответы [ 3 ]

0 голосов
/ 02 ноября 2011

Родитель должен быть linearLayout.затем добавить

LinearLayout parentLayout = (LinearLayout) findViewById(id);

parentLayout.addView(childView)
0 голосов
/ 02 ноября 2011

имеет два файла XMl ... строка (row.xml) или что-либо повторно используемое, что вы хотите добавить, поскольку одно представление - это одно, а представление, к которому нужно добавить, - другое listbased.xml ... во втором есть кнопка и все остальные вещи, которые нужно ввести .... Убедитесь, что у вас есть родительское представление внутри listbased.xml (относительный, линейный, список) ... или что-то в этом роде. ..

сейчас ... в классе ... где этот метод должен быть вызван, установите R.setContentView(r.layout.listbased).... и

, где вы реализуете кнопку прослушивания, затем добавляете инфлятор (ex:parentLayout.addView(mInflater.inflate(R.layout.row)))..., где

public LayoutInflater mInflater; определяется как глобальный ...

0 голосов
/ 02 ноября 2011

Вы должны создать похожий макет во время выполнения, а затем вы можете добавить весь макет в это представление.

Для этого у вас должен быть объект LinearLayout / RelativeLayout в вашем коде, также вам нужно было бы создавать EditText, Button и TextView программно, настраивая их свойства по мере необходимости, а затем добавлять все компоненты в ваш LinearLayout / RelativeLayout объект.

И затем вы можете добавить этот объект в основной макет.

Да, вам нужен объект Layout вашего xml-файла, только тогда вы можете добавить к нему вышеуказанный объект.

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