安卓java 多选多 用ListView实现,选择范围:周一,周二,周三,周四,周五,周六,周日
时间: 2024-06-13 10:08:49 浏览: 152
ListView的多选
以下是使用ListView实现多选的安卓Java代码,选择范围为周一到周日:
1. 在布局文件中设置ListView和item布局:
```xml
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:choiceMode="multipleChoice" />
<!-- item布局 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<CheckBox
android:id="@+id/check_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="周一" />
</LinearLayout>
```
2. 在Java代码中设置ListView的Adapter和监听器:
```java
ListView listView = findViewById(R.id.list_view);
String[] days = {"周一", "周二", "周三", "周四", "周五", "周六", "周日"};
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_multiple_choice, days);
listView.setAdapter(adapter);
// 设置监听器
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
SparseBooleanArray checkedItems = listView.getCheckedItemPositions();
for (int i = 0; i < checkedItems.size(); i++) {
int key = checkedItems.keyAt(i);
if (checkedItems.get(key)) {
Log.d("TAG", "选中了:" + days[key]);
}
}
}
});
```
3. 运行程序,选择多个选项后,可以在Logcat中看到选中的结果。
阅读全文