首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以编程方式选中/取消选中列表视图中的复选框?

以编程方式选中/取消选中列表视图中的复选框?
EN

Stack Overflow用户
提问于 2013-05-03 19:37:26
回答 1查看 8.3K关注 0票数 2

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

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

EN

回答 1

Stack Overflow用户

发布于 2013-05-03 19:48:31

您必须在您的getview()方法中执行此操作。

来自vogella的示例代码

代码语言:javascript
运行
复制
@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;
  }
} 

有关更多详细信息,请参阅here

我希望这能对你有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16358026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档