Android 从ListView获取所有选中项

Android 从ListView获取所有选中项,android,android-layout,android-intent,android-activity,android-xml,Android,Android Layout,Android Intent,Android Activity,Android Xml,如果我有一个列表视图,其布局如下,其中每个项目都有一个复选框,那么当我单击按钮时,如何在onClick()方法中获取所有选中的项目 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLa

如果我有一个
列表视图
,其布局如下,其中每个项目都有一个复选框,那么当我单击
按钮
时,如何在
onClick()
方法中获取所有选中的项目

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <ListView
            android:id="@+id/listview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            />

    </LinearLayout>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Submit"
        android:onClick="submitList"
        />

</RelativeLayout>

如果使用的是
列表视图,则可以使用
SparseBooleanArray
获取选中的项目。选择\u MODE\u MULTIPLE

这是StackoverFlow的参考。

您可以逐个检查listview项:

for ( int i=0; i < listview.getAdapter().getCount(); i++) {
listview.setItemChecked(i, true);
}
for(int i=0;i
您必须根据listview适配器的大小制作一个arraylist。之后,当您选中任何列表项时,请将该项添加到数组列表中

public ArrayList<String> getCheckedName()
    {
        return array_list;
    }
public ArrayList getCheckedName()
{
返回数组_列表;
}
在适配器类中编写此函数。当你需要你的核对数据通话时

ArrayList<String> sName=adapter.getCheckedName();
ArrayList sName=adapter.getCheckedName();
在onClick方法中使用这个sName。

int len=listview.getCount();
int len = listview.getCount();
SparseBooleanArray checked = listview.getCheckedItemPositions();
for (int i = 0; i < len; i++) {
    if (checked.get(i))
        String item = yourArrayList.get(i);
}
SparseBooleanArray checked=listview.GetCheckEditePositions(); 对于(int i=0;i到目前为止您尝试了什么?请参阅下面的图坦卡蒙
int len = listview.getCount();
SparseBooleanArray checked = listview.getCheckedItemPositions();
for (int i = 0; i < len; i++) {
    if (checked.get(i))
        String item = yourArrayList.get(i);
}