多选框CheckBox
多选和单选是类似的,只是多选没有 radioGroup 组这个控件,所以我们只能是放一下线性布局控件LinearLayout
通过获取他的子元素同样可以实现获取多个选项值。
复制var ac = new activity();
ac.loadXML(`
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="8dp">
<!-- 为了快速查询多个需要包裹 CheckBox 的 LinearLayout -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/checkBoxLayout">
<!-- 在这里添加您的 CheckBox 控件 -->
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/checkBox1"
android:text="选项1" ></CheckBox>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/checkBox2"
android:text="选项2" ></CheckBox>
</LinearLayout>
<!-- 按钮 -->
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button1"
android:text="开始" ></Button>
</LinearLayout>
`)
// 获取按钮
var btn1 = ac.findViewById('button1');
// 获取包含 CheckBox 的 LinearLayout
var checkBoxContainer = ac.findViewById('checkBoxLayout');
// 点击按钮后获取选中的 CheckBox 并打印
btn1.setOnClickListener(function() {
new thread().runJsCode(function fun() {
var count = checkBoxContainer.getChildCount();
// 遍历所有 CheckBox 判断哪个被选中
for (let i = 0; i < count; i++) {
var checkBox = checkBoxContainer.getChildAt(i);
if (checkBox.isChecked()) {
printl(checkBox.getText().toString());
}
}
}, "-线程名");
});
# 如果我只是想判断单个多选组件是否选中如何实现?
通过id直接获取这个组件view 然后 调用 .isChecked() 就可以
var c1 = ac.findViewById(‘check1’);
c1.isChecked()
上次更新: 2024/11/03, 18:44:54