Java(Android)如何在与其他线性布局的线性布局中使用控件进行迭代
我有一个线性布局和另外4个线性布局..这些线性布局里面有一些复选框。我想获取这些复选框的状态(是否选中)。。我该怎么做 问候Java(Android)如何在与其他线性布局的线性布局中使用控件进行迭代,java,android,eclipse,Java,Android,Eclipse,我有一个线性布局和另外4个线性布局..这些线性布局里面有一些复选框。我想获取这些复选框的状态(是否选中)。。我该怎么做 问候 Rafael首先,必须获取对父LinearLayout的引用,假设父LinearLayout存储在名为“a”的变量中。接下来,必须使用android:id XML属性为子LinearLayout和复选框分配一个id。让我们假设子LinearLayout的id为“b”,并且您希望其值的复选框的id为“c”。然后你说: LinearLayout b = (LinearLayo
Rafael首先,必须获取对父LinearLayout的引用,假设父LinearLayout存储在名为“a”的变量中。接下来,必须使用android:id XML属性为子LinearLayout和复选框分配一个id。让我们假设子LinearLayout的id为“b”,并且您希望其值的复选框的id为“c”。然后你说:
LinearLayout b = (LinearLayout)(a.findViewById(R.id.b));
CheckBox c = (CheckBox)(b.findViewById(R.id.c));
boolean checked = c.isChecked();
编辑:
如果要在其上循环,只需使用for loops:
//assume that "a" is your parent LinearLayout
ArrayList<CheckBox> allCheckBoxes = new ArrayList<>();
ArrayList<LinearLayout> linearLayouts = new ArrayList<>;
for(int i = 0; i < linearLayouts.size())
{
if(a.getChildAt(i) instanceof LinearLayout)
{
linearLayouts.add((LinearLayout)(a.getChildAt(i)));
}
}
for(LinearLayout linearLayout : linearLayouts)
{
ArrayList<CheckBox> checkBoxes= new ArrayList<>;
for(int i = 0; i < checkBoxes.size())
{
if(linearLayout.getChildAt(i) instanceof CheckBox)
{
checkBoxes.add((CheckBox)(linearLayout.getChildAt(i)));
}
}
allCheckBoxes.addAll(checkBoxes);
}
//假设“a”是您的父线性布局
ArrayList All复选框=新建ArrayList();
ArrayList linearLayouts=新的ArrayList;
对于(int i=0;i
现在您有了一个名为
allcheckbox
的ArrayList
,您可以调用CheckBox.isChecked()
打开。我需要为特定的数组保存数据…eagle,谢谢您的回答,但我想做一个循环,用许多线性布局进行迭代,一个在另一个内部。。。我用一个LinearLayout做了一个循环,但我不知道如何在循环中做循环。我添加了一些关于如何在LinearLayout上循环以获得所需结果的信息。