我有一个列表视图,显示手机中所有联系人的姓名 我希望,只需单击一个按钮,复选框就会出现在列表视图中的每一行的前面。点击一次列表视图中的任何一项,删除按钮应出现在相应行的前面。
这是我的布局文件:
<?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>
答案 0 :(得分:2)
您必须将CheckBox添加到xml-File并使其不可见。
然后在listViewAdapter的getView
中添加一个代码片段,以使CheckBox可见或不可见(例如,布尔变量为false或true)。
现在,如果您更改这些变量,只需在过滤器适配器上调用notifyDataSetChanged();
,