我的系统中有两个微调器。现在,我必须根据第一个微调器的值更改第二个微调器的选定值。一旦用户更改了第一个微调器的值,第二个微调器的值将根据第一个微调器的选择值自动设置。如何实现呢?
我有2个EditText框和2个微调框。当我在编辑框中输入值并且如果我选择另一个微调器,则根据该微调器的值将在编辑文本框中更改。
我该如何实现呢?
最佳答案
为spinner1和2取两个数组List
默认将值放在数组列表1和数组列表2中
并使用这些数组列表将数组适配器设置为spinner1和spinner2
现在在选择数组列表1时更改数组列表2
并更新编辑文本中的值
编辑
我认为这是不可能的,因为它将表现为递归。
说明
假设您有两个微调器,Spinner1和Spinner2。您要基于Spinner1的选择来选择spinner2项目。到此为止,您可以更改Spinner2的值,因为您尚未实现Spinner2的OnItemSelectedListener
。
现在,您要基于Spinner1项目选择Spinner1项目。如果您尝试基于Spinner2项目的选择来选择Spinner1项目,则将调用Spinner1的OnItemSelectedListener
,因为您正试图选择该项目。不仅如此,而且您已经实现了Spinner1的OnItemnSelected
侦听器,并且正在Spinner2中设置该项目,因此OnItemSelected侦听器将作为递归工作,并且您将获得一些异常,否则您的UI将被阻止。