【问题标题】:getting the list of all checked items from a Listview with customAdapter使用 customAdapter 从 Listview 获取所有检查项目的列表
【发布时间】:2016-03-08 21:22:04
【问题描述】:

我有一个带有自定义适配器的列表视图。我的行中有带有 textview 的复选框。

以下是我的getView方法

public View getView(int position, View convertView, ViewGroup parent) {

        ViewHolder viewHolder = null;
        if (convertView == null) {
            LayoutInflater inflator = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflator.inflate(R.layout.filters, null);
            viewHolder = new ViewHolder();
            viewHolder.text = (TextView) convertView.findViewById(R.id.label);
            viewHolder.checkbox = (CheckBox) convertView.findViewById(R.id.check);
            final ViewHolder finalViewHolder = viewHolder;
            viewHolder.checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    int getPosition = (Integer) buttonView.getTag();
                    list.get(getPosition).setSelected(buttonView.isChecked());

                }
            });
            convertView.setTag(viewHolder);
            convertView.setTag(R.id.label, viewHolder.text);
            convertView.setTag(R.id.check, viewHolder.checkbox);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }
        viewHolder.checkbox.setTag(position);

        viewHolder.text.setText(list.get(position).getName());
        viewHolder.checkbox.setChecked(list.get(position).isSelected());
        return convertView;
    }

如何获取 Checkbox 中所有选中项的列表?我尝试使用 SparseBooleanArray 但仍然无法这样做。

【问题讨论】:

标签: android listview


【解决方案1】:

如果我是你,我会尝试这样做:
1. 创建状态列表
3. 将 ChangeCheckListener 设置为 null
2. 从列表中加载项目状态
3. 创建 ChangeCheckListener - 监听 onChange 动作并将其保存到列表

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多