如何动态添加布局?

时间:2011-11-02 07:38:09

标签: android layout dynamic

这是我的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 :(得分:0)

您必须在运行时创建类似的布局。然后您可以将整个布局添加到此视图。

为此,您必须在代码中包含LinearLayout / RelativeLayout对象,您还必须以编程方式创建EditText,Button和TextView,根据需要设置其属性,然后可以将所有组件添加到LinearLayout / RelativeLayout对象

然后您可以将该对象添加到主布局中。

是的,您需要拥有xml文件的Layout对象,然后才能将上面的对象添加到其中。

答案 1 :(得分:0)

有两个XMl文件...行(row.xml)或者你想要添加为一个视图的可重复使用的东西是一个,它需要添加到的视图是另一个listbased.xml ...在第二个有一个按钮和所有其他需要进入的东西....确保你有listbased.xml内的父视图(相对,线性,列表视图)....或类似的东西。 ..

现在......在班级......需要调用此方法时设置R.setContentView(r.layout.listbased)....

在其中实现按钮侦听器,然后添加inflater (ex:parentLayout.addView(mInflater.inflate(R.layout.row)))...其中

public LayoutInflater mInflater;被定义为全球......

答案 2 :(得分:-1)

Parent应该是linearLayout。

添加
LinearLayout parentLayout = (LinearLayout) findViewById(id);

parentLayout.addView(childView)