其他分享
首页 > 其他分享> > android查找线性布局中的复选框

android查找线性布局中的复选框

作者:互联网

我在LinearLayout中以编程方式添加了多个复选框.是否可以在LinearLayout中查找并检查所有CheckBox?
我的xml结构如下:

<LinearLayout>
<ScrollView>
<TableLayout>
<TableRow>
<CheckBox>
</TableRow>
<TableRow>
<CheckBox>
</TableRow>
</TableLayout>
</ScrollView>
</LinearLayout>

Java代码:

CheckBox selectAll = (CheckBox)findViewById(R.id.checkboxSelectAll);
selectAll.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if(buttonView.isChecked()){
        //loop in linear layout
            //find each checkbox
            //setChecked(true);

    }

}
});

解决方法:

您可以持有复选框的引用,也可以使用getChildCount()然后使用getChildAt遍历所有元素,然后检查元素是否为(instanceof)CheckBox类型,以及是否将其强制转换为CheckBox并将其设置为真正.

LinearLayout yourLayout= (LinearLayout) view.findViewById(R.id.linearLayout);
int count = yourLayout.getChildCount();
for (int i = 0; i < count; i++) {
    View v = rootLinearLayout.getChildAt(i);
    if (v instanceof CheckBox) {
        ((CheckBox) v).setChecked(true);
    }
}

希望对您有所帮助

标签:android-linearlayout,android,checkbox
来源: https://codeday.me/bug/20191127/2076783.html