如何检查ListView项是否已选中

zng*_*ngb 1 android android-listview android-listfragment

我使用的list.setItemChecked(position, true)设置项为我检查ListView,点击后.然而,我没有找到任何方法来查看列表项是否已选中.

ListView项目没有复选框/收音机,也没有使用CheckedTextView.该ListView设置为CHOICE_MODE_SINGLE.

ListView onItemClick侦听器

@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
      list.setItemChecked(position, true);
}
Run Code Online (Sandbox Code Playgroud)

适配器getView

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    inflater = (LayoutInflater) context
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    rowView = inflater.inflate(R.layout.rowlayout, parent, false);
    vg = parent;
    TextView textView = (TextView) rowView.findViewById(R.id.label);
    textView.setText(names[position]);
    TextView textView2 = (TextView) rowView.findViewById(R.id.tvValue);
    textView2.setText(stock[position]);
    return rowView;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法检查列表项是否被选中?例如,在onItemClick监听器中执行以下操作:

if(position.isChecked()) {
    //do something
}
Run Code Online (Sandbox Code Playgroud)

我没有在布局中添加复选框/收音机并改变周围的事情,所以看起来似乎无法想出任何东西.我感谢任何建议,谢谢!

编辑:

标题有点令人困惑,所以只是为了澄清:问题不在于项目没有明确选择/未选中,而是我需要处理第二次单击所选项目.我使用简单的if/else逻辑来处理这个问题,但这会导致项目中的其他问题,这就是为什么我想知道是否有一些内置功能来检查项目是否被检查.

Bud*_*ddy 8

你可以用list.isItemChecked(position).查看文档