android - 以编程方式选中/取消选中 ListView 内的复选框?

标签 android listview checkbox

我有带有两个 TextView 和一个复选框的 ListView 。我正在使用自定义适配器来填充 ListView 。

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

最佳答案

您必须在 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;
  }
} 

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

希望这对您有帮助。

关于android - 以编程方式选中/取消选中 ListView 内的复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16358026/

相关文章:

java - 在多个 Activity 中使用 Android WifiP2P

java - 在android中使用 picasso 从图像中读取EXIF数据

android - 为什么我的 ListView 没有显示任何内容?

android - 将分隔线放置在 ListView 中的某个位置

html - 如果满足条件,则修复复选框的颜色

java - 在 Android 中从 SQLite 填充 TextViews 和按钮

android - Android 4.0 应用程序可以与 Android 2.0 和 Android 3.0 设备一起使用吗?

wpf - 删除WPF ListView的“经典”缩进边框

ruby-on-rails - Rails复选框AJAX调用,不想呈现任何内容

html - 在页面加载时隐藏滑动/推送菜单?