1

データベース列に関連付けられないチェックボックス要素とともに2つのデータベース要素が表示されているリストビューがあります。チェックボックスを使用して、ユーザーがリストビューから処理する行を選択できるようにします。

listView用に次のレイアウトを作成しました。

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

     <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"    
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:layout_marginRight="6dip" />

    <TextView  
        android:id="@+id/dbCol1View"

        android:layout_width="fill_parent"
        android:layout_height="26dip" 

        android:layout_toRightOf="@id/checkBox1"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"

        android:singleLine="true"
        android:ellipsize="marquee" />

    <TextView
        android:id="@+id/dbCol2View"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"

        android:layout_toRightOf="@id/checkBox1"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_above="@id/dbCol1View"
        android:layout_alignWithParentIfMissing="true"

        android:gravity="center_vertical" />

</RelativeLayout>

次に、次のようなデータベースオブジェクトがあります。

public class DbObj{
private int id;
private String dbCol1;
private String dbCol2;


public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public String getDbCol1() {
    return dbCol1;
}
public void setDbCol1(String dbCol1) {
    this.dbCol1 = dbCol1;
}
public String getDbCol2() {
    return dbCol2;
}
public void setDbCol2(String dbCol2) {
    this.dbCol2 = dbCol2;
}

}

次に、次のようにコードでSimpleCursorAdapterを使用します。

    String cols[] = { "dbCol1", "dbCol2" };
int views[] = { R.id.dbCol1View, R.id.dbCol2View };
cursor = dbObjDAO.getByCriteria(criteria);

SimpleCursorAdapter ca = new SimpleCursorAdapter(rootActivity,
            R.layout.list_layout, cursor, cols, views);

startManagingCursor(cursor);

listView.setAdapter(ca);

リストは正常に表示され、チェックボックスが表示されて選択できます。私の質問は、listViewをループして、チェックボックスが選択されているアイテムを見つけるにはどうすればよいですか?

4

0 に答える 0