Android listview简单列表项目已选中

Android listview简单列表项目已选中,android,listview,Android,Listview,我有一个列表视图,它使用了android.R.layout.simple\u list\u item\u checkedlayout 我需要应用程序检测用户何时检查listview中的项目,并将复选框的状态传递给变量 这是怎么做到的?请记住,我没有为listview使用自定义布局。我正在使用安卓.R.layout。简单列表项目已选中。试试这个可能会对你有所帮助 @Override protected void onListItemClick(ListView l, View v, int pos

我有一个列表视图,它使用了
android.R.layout.simple\u list\u item\u checked
layout

我需要应用程序检测用户何时检查listview中的项目,并将复选框的状态传递给变量


这是怎么做到的?请记住,我没有为listview使用自定义布局。我正在使用安卓.R.layout。简单列表项目已选中。

试试这个可能会对你有所帮助

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    CheckedTextView textview = (CheckedTextView)v;
    textview.setChecked(!textview.isChecked());
}

为此,您需要在您创建的
列表视图的布局XML中启用
android:choiceMode=“multipleechoice”

然后在
列表视图上设置
onItemClickListener
,如下所示:

@Override
  public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
    SparseBooleanArray sparseBooleanArray = listView.getCheckedItemPositions();
    System.out.println("Clicked Position := "+position +" Value: "+sparseBooleanArray.get(position));
  }
@覆盖
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
SparseBooleanArray SparseBooleanArray=listView.getCheckedItemPositions();
System.out.println(“单击的位置:=”+Position+“值:”+sparseBooleanArray.get(位置));
}

我试过了,但当我单击列表项时,似乎什么也没发生。好的,已经成功了。我还将检查状态保存到SharedReferences,但现在我不知道如何将项目设置为实际检查。如果您知道该项目在listview中的位置,则可以轻松检查任何项目。请使用此代码listview.setItemChecked(位置、值);其中position是项目的位置,值只能为true/false。