CheckBox gets unchecked on scroll in a custom listview

前端 未结 4 1069
野趣味
野趣味 2020-11-29 12:13

I know that this question has been asked over and over again but still I\'ve not been a able to find a suggestion that really helps me. The checkbox is unchecked whenever th

4条回答
  •  失恋的感觉
    2020-11-29 13:03

    In mycase, I solved this issue as follows :

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
    
        ViewHolder holder = null;
    
        TextView title = null;
        ImageView thumbnail = null;
        CheckBox checkBox = null;
    
        Content rowData = GridViewActivity.contents.get(position);
    
        if (null == convertView) {
            convertView = mInflater.inflate(R.layout.grid_item, null);
            holder = new ViewHolder(convertView);
            convertView.setTag(holder);
        }
        holder = (ViewHolder) convertView.getTag();
    
        title = holder.getContentTitle();
        title.setText(rowData.getTitle());
    
        thumbnail = holder.getThumbnail();
        thumbnail.setImageResource(rowData.getIcon());
    
        checkBox = holder.getCheckBox();
        checkBox.setTag(position);
    
        checkBox.setChecked(rowData.isCheckBox());
    
        checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    
            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                int getPosition = (Integer) buttonView.getTag();
                GridViewActivity.notifyCheckChanges(getPosition,
                        buttonView.isChecked());
            }
        });
    
        return convertView;
    }
    

提交回复
热议问题