我准备了一个表单,我必须使用相同的页面来添加详细信息和编辑详细信息。添加详细信息时,所有字段都将为空,并且微调器选择将设置为“无选择”。 现在我想设置我将从前一个活动传递的项目的微调器选择。怎么实现这个? 由于spinner没有任何方法,例如 setSelection(String string); 或者还有其他办法,我可以实现这种机制......
有人请帮助我......
答案 0 :(得分:15)
这就是我所做的,似乎工作正常
Spinner my_spinner=(Spinner)findViewById(R.id.spn_items);
ArrayAdapter<String> array_spinner=(ArrayAdapter<String>)my_spinner.getAdapter();
my_spinner.setSelection(array_spinner.getPosition("list item"));
答案 1 :(得分:11)
我现在不经常使用它,但我们可以通过其中的文本设置微调器的选择。 Spinner的方法是 setSelection(int position); 。
现在在参数中我们需要传递文本的位置,我们可以从我们用来绑定到适配器的array_list中获取getIndexOf(Object object)
,而对象应该是ArrayList
的类型声明例如,如果ArrayList
的类型为String,则要传递给getIndexOf(Object object)
的对象应为String类型。
最后,您将选择设置如下:
spinner.setSelection ( spinner_array_list.indexOf(string) );