ListView Viewholder checkbox state

前端 未结 3 496
无人及你
无人及你 2020-11-29 10:25

I\'ve some problems with my ListView custom adapter (and its newly implemented viewHolder). I have a ListView with a checkbox for each item (nothing new here). The problem i

3条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-11-29 11:17

    Here's how I made it work:

    First, you need a separate array for your checked state. It has to be the same size as your adapter's getCount().

    Then on your getView, your checkbox's setOnCheckedChangedListener MUST PRECEED your checkbox.setChecked statements.

    example:

    holder.checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
      @Override
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        isChecked[position] = isChecked;
      }
    });
    
    holder.checkBox.setChecked(isChecked[position]);
    

提交回复
热议问题