2016-06-08 82 views
-1

我目前有一个自定义的ListView。该ListView中的每个项目都包含一个ImageView,两个TextViews和一个CheckBox。以下是该列表的截图。如何在CheckBox被选中时获取ListView ID?

Screenhot

我捕捉,当用户点击下面的剪断的复选框,但是,我需要被检查项目的_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

查看本教程.... http://android-pratap.blogspot.com/2015/01/recyclerview-with-checkbox-example.html –

回答

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's。希望它有效。

相关问题