2

我有两个文本视图和一个复选框的列表视图。我正在使用自定义适配器来填充列表视图。

我想根据列表项的位置选中/取消选中列表视图的特定列表项的复选框。例如:如果我想检查列表视图第二项的复选框,我该怎么做?

4

1 回答 1

2

你必须用你的getview()方法来做。

vogella 的示例代码

@Override
  public View getView(int position, View convertView, ViewGroup parent) {
    View view = null;
    if (convertView == null) {
      LayoutInflater inflator = context.getLayoutInflater();
      view = inflator.inflate(R.layout.yourlayout, null);
      final ViewHolder viewHolder = new ViewHolder();
      viewHolder.checkbox = (CheckBox) view.findViewById(R.id.check);
      viewHolder.checkbox
          .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView,
                boolean isChecked) {
              Model element = (Model) viewHolder.checkbox
                  .getTag();
              element.setSelected(buttonView.isChecked());

            }
          });
      view.setTag(viewHolder);
      viewHolder.checkbox.setTag(list.get(position));
    } else {
      view = convertView;
      ((ViewHolder) view.getTag()).checkbox.setTag(list.get(position));
    }
    ViewHolder holder = (ViewHolder) view.getTag();
    holder.checkbox.setChecked(list.get(position).isSelected());
    return view;
  }
} 

有关更多详细信息,请参见此处

我希望这能帮到您。

于 2013-05-03T11:48:30.893 回答