将多个微调器设置为默认值

时间:2017-12-05 13:35:19

标签: java android

我在GridLayout中有18个微调器,在活动布局中手动分配给每个微调器(没有适配器)。现在我想要一个"清除按钮"调用方法:" onClickClear"将每个微调器设置为默认值。

如果没有编写对18个微调器的引用并使用setSelection(0),有没有办法做到这一点。我对Android很陌生,这是我正在做的概念证明项目:)

3 个答案:

答案 0 :(得分:1)

最懒惰,而不是最好的解决方案。

查找对其父级的引用并循环其子级

for (int i = 0; i < viewGroup.getChildCount(); i++) {
    View currentView = viewGroup.getChildAt(i);
    if (currentView instanceof Spinner) {
        ((Spinner) currentView).setSelection(0);
    }
}

或者您可以将它们保存在数组中并循环遍历它们,但是您必须找到它们18次以填充数组。

答案 1 :(得分:0)

replaceAll

这里pos是整数(你的数组项位置)

数组如下所示pos = 0;

Spinner sp = (Spinner)findViewById(R.id.spinner); 
sp.setSelection(pos);

然后在onItemSelected

String str[] = new String{"Select Gender","male", "female" };

答案 2 :(得分:0)

只需将它们全部添加到Spinner数组中,类似于Spinner [] spinners = new Spinner [18];然后是spinners [0] = findViewById ...... 这样,您可以使用for循环轻松地将它们全部设置为默认值。 for(Spinner spinner:spinners) spinner.setSelection(0)