我正在为Android制作应用程序。我有2 spinner
s,当我在第一个微调器(simpleSpinner
)中选择一个项目时,它需要显示它(我已经完成了)但是当我从第二个微调器中选择一个时({ {1}})我希望我的multiSpinner
返回到微调器中的第一个项目。反过来说,当我在simpleSpinner
中选择一个时,我希望我的simpleSpinner
显示我multiSpinner
中的第一个项目。我该怎么做?
simpleSpinner
代码现在可以使用了!感谢@BlackPanther
答案 0 :(得分:1)
您应该为Spinners
使用单独的侦听器。由于您正在为Spinners
这段代码使用相同的侦听器
if("Rouge".equals(simpleText)){
spMulti.setSelection(0);
}
导致您的问题。
当您在第一个Spinner
中首次选择“Rouge”时,第二个微调器设置为“Wahie”,现在当您尝试更改第二个Spinner
中的项目时,相同的方法是调用,因为第一个Spinner
的选择在“Rouge”中,第二个Spinner
再次设置为“Wahie”..
在onCreate
方法中执行类似的操作
@Override
public void onCreate(Bundle savedInstanceState) {
//your code
addListenerOnSpinnerItemSelection();
//more of your code
}
public void addListenerOnSpinnerItemSelection() {
spMulti = (Spinner) findViewById(R.id.spMulti);
spMulti.setOnItemSelectedListener(new CustomOnItemSelectedListener());
}
您可以创建实现OnItemSelectedListener
见this article。您可以根据自己的需要进行调整并进行定制。
您可以通过以下代码为两个微调器使用相同的侦听器
Spinner spinner = (Spinner) parent;
if(spinner.getId() == R.id.spSimple)
{
//do this
}
else if(spinner.getId() == R.id.spMulti)
{
//do this
}