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