我想通过单击我的复选框来更新我的数据库
但我不知道如何捕获项目编号。通过单击复选框来查看我的项目列表。
这是我的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bucket_item);
int value = getIntent().getExtras().getInt("bucketno");
DatabaseHandler myDbHelper = new DatabaseHandler(this);
BucketItem[] bucketItems = myDbHelper.getAllContacts(value);
BucketItemAdapter adapter = new BucketItemAdapter(this, R.layout.row_item, bucketItems);
listView2 = getListView();
View header = (View) getLayoutInflater().inflate(R.layout.row_header, null);
listView2.addHeaderView(header);
listView2.setAdapter(adapter);
}
activity_bucket_item.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
/>
</LinearLayout>
row_item.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/lightgray"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/completed"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/bucketNo"
android:layout_width="29dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp" />
<TextView
android:id="@+id/bucketItemName"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginLeft="0dp"
android:layout_marginRight="10dp"
android:layout_weight="0.97" />
<TextView
android:id="@+id/bucketItemNo"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone" />
</LinearLayout>
如何单击复选框,然后调用数据库的更新方法?任何的想法?
笔记:
我研究过我可以覆盖
onListItemClick(ListView listView, View v, int position,
long id)
方法,但我不能,因为我打算在用户单击项目列表时使用此方法,描述和图像会弹出。
谢谢