CheckBox в ListView setonclicklistener не работает должным образом
У меня есть ListView
с CheckBox
и TextView
, В моих адаптерах getView()
Метод я реализовал этот слушатель на флажок.
holder.check.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
HashMap<String, String> localMap = (HashMap<String, String>) holder.check
.getTag();
if (holder.check.isChecked()) {
trackinglist.add(localMap.get("taskid"));
checkedlist.add(localMap.get("taskid"));
} else {
if (trackinglist.contains(localMap.get("taskid"))) {
trackinglist.remove(localMap.get("taskid"));
}
if (alreadycheckedlist.contains(localMap.get("taskid"))) {
undonelist.add(localMap.get("taskid"));
alreadycheckedlist.remove(localMap.get("taskid"));
} else {
checkedlist.remove(localMap.get("taskid"));
}
}
}
});
Теперь моя проблема в том, что holder.check.isChecked()
всегда возвращает ложь, даже когда CheckBox
нажата и проверена. Что может быть причиной такого поведения? и да, я не хочу использовать setoncheckchangelistener
, Пожалуйста помоги.
1 ответ
Вы можете использовать
holder.check.setOnCheckedChangeListener(new OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked )
{
// perform logic
}
}
});