我目前有一个自定义ListView。 ListView中的每个项目都包含一个ImageView,两个TextView和一个CheckBox。下面是列表的截图。
当用户点击下面剪切的CheckBox时,我会捕获,但是,我需要检查项目的_id。
// Get the CheckBox view
CheckBox routine_quick = (CheckBox) view.findViewById(R.id.checkBox_quick);
// Set checked value depending on the database results
if (cursor.getInt(cursor.getColumnIndexOrThrow("quick")) == 1) {
routine_quick.setChecked(true);
} else {
routine_quick.setChecked(false);
}
// Create onClickListener
routine_quick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (((CheckBox) v).isChecked()) {
// ADD QUICK TO DATABASE
} else {
// REMOVE QUICK FROM DATABASE
}
}
});
但是,使用这种方法,我得到的唯一参数是"查看v"。
我尝试过搜索,但我只找到了在单击ListView时如何设置复选框以进行检查的示例。
单击CheckBox时如何获取_id?任何帮助表示赞赏。谢谢!
答案 0 :(得分:0)
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
int id = buttonView.getId();
if(isChecked){
switch(id){
case R.id.sprint:
//add to database
...
}
}
else{
switch(id){
case R.id.sprint:
//remove from database
...
}
}
}
这应该允许您使用ID。希望它有效。