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;iint len = listview.getCount();
SparseBooleanArray checked = listview.getCheckedItemPositions();
for (int i = 0; i < len; i++) {
if (checked.get(i))
String item = yourArrayList.get(i);
}