【发布时间】:2016-11-12 13:05:59
【问题描述】:
我正在尝试在 ListActivity 中执行“取消全选”按钮,以取消选中由自定义 SimpleCursorAdapter 管理的 ListView 中的所有复选框。
按照here的建议,我试过了
在我的 ListActivity 中,我有:
Button bt_f_unsel = (Button) findViewById(R.id.btn_f_unsel);
bt_f_unsel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
for ( int i=0; i< getListAdapter().getCount(); i++ ) {
mListView.setItemChecked(i, false);
}
}
});
但什么也没发生。
我想知道这是否是因为我的自定义行:
<?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="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/contact_pic"
android:layout_width="50dp"
android:layout_height="50dp" />
<TextView
android:id="@+id/contact_name"
android:textSize="10sp"
android:singleLine="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<CheckBox
android:id="@+id/checkbox"
android:button="@drawable/whipem_cb"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
这使得 mListView.setItemChecked() 找不到复选框。
如何取消选中所有 cb 并刷新 ListActivity 中按钮的所有行?
谢谢
【问题讨论】: