我在GridLayout中有18个微调器,在活动布局中手动分配给每个微调器(没有适配器)。现在我想要一个"清除按钮"调用方法:" onClickClear"将每个微调器设置为默认值。
如果没有编写对18个微调器的引用并使用setSelection(0),有没有办法做到这一点。我对Android很陌生,这是我正在做的概念证明项目:)
答案 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)