2011-11-07 72 views
0

我有一个列表视图,显示手机中联系人的所有名称。
我希望点击一个按钮时,复选框会出现在列表视图中每行的前面。一次点击列表视图中的任何一个项目,并在该行的前面出现一个删除按钮。动态添加按钮和复选框到我的列表视图?

这是我的布局文件:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <ListView android:layout_height="350dp" android:id="@android:id/list" android:layout_width="fill_parent" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_marginTop="35dp"> 

    </ListView> 

    <Button android:id="@+id/button1" android:layout_height="35dp" android:text="Button" android:layout_width="70dp" android:layout_alignParentTop="true" android:layout_alignParentLeft="true"></Button> 

    <TextView android:id="@+id/textView1" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Favourites" android:layout_alignParentRight="true" android:layout_toRightOf="@+id/button1" android:layout_alignBottom="@+id/button1" android:layout_alignParentTop="true" android:gravity="center"></TextView> 

</RelativeLayout> 


让我的文本视图此文件:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:padding="6dip"> 

    <RelativeLayout 
     android:orientation="vertical" 
     android:layout_width="0dip" 
     android:layout_weight="0.96" android:layout_height="73dp"> 
     <TextView 
      android:id="@+id/textView_name" 
      android:layout_height="0dip" 
      android:gravity="center_vertical" 
     android:layout_weight="1" android:layout_width="218dp"/> 

    </RelativeLayout> 
</LinearLayout> 

回答

2

你必须复选框添加到您的XML的文件,并使其不可见。 在listViewAdapter的getView中添加一个代码片段,使CheckBox可见或不可见,例如,如果布尔变量为false或true。 现在如果您更改这些变量,只需在您的筛选器适配器上调用notifyDataSetChanged();

+0

11-07 13:21:11.670:错误/ AndroidRuntime(623):java.lang.RuntimeException:无法启动活动ComponentInfo {com.a3。 Activities/com.a3.Activities.Favourites}:java.lang.UnsupportedOperationException:addView(View,LayoutParams)在AdapterView中不受支持 .......添加复选框并将其可见性设置为显示上述错误 –

+0

你想添加CheckBox,请显示一些代码。 – Thommy