如何在android中动态添加和删除视图

时间:2012-08-03 07:39:15

标签: android android-layout

我想在屏幕下方设计 enter image description here

当我按下“添加号码”按钮时,它会在下方的可滚动布局中插入一个条目。当我按下“X”按钮时,它应删除该特定行。 怎么实现这个? 有什么想法??

3 个答案:

答案 0 :(得分:0)

使用

ViewGroup.addView(View view); 

将视图添加到某个布局。

要动态创建布局,请使用:

TextView txtView=new TextView(this);
//Its an example, you can create layouts, buttons, image view, and other components.

通过以下方式动态删除布局或视图,布局的getParent和删除:

ViewGroup.removeView(View view);

答案 1 :(得分:0)

您应该使用由ListView ArrayListObjects支持的Strings。如果要从ListView中删除项目,请从ArrayList中删除该对象:

mData.remove(object);

然后通知ListView日期已更改:

mAdapter.notifyDataSetChanged();

答案 2 :(得分:-1)

  1. 使用ListView显示模式列表
  2. 为每个列表项创建自定义布局。例如

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="555*" />
    <TextView
        android:id="@+id/textView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="matched 5 " />       
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="X" />
    </LinearLayout>
    
  3. 创建一个扩展BaseAdapter的自定义适配器类

    • 它可以维护要显示的模式的列表
    • 在自定义适配器的getView方法中 -
      • 膨胀xml
      • 使用列表
      • ,根据索引参数设置信息(如模式和匹配数)
      • 为按钮设置onclick侦听器(从列表中删除该项并调用notifyDatasetInvalidated())
      • 返回视图。
  4. 在“添加号码”上添加项目到适配器的列表