【发布时间】:2017-05-29 16:44:52
【问题描述】:
我正在尝试使用微调器,保存每个选择的位置并依赖于此,出现每个位置具有不同选择的另一个微调器.. 我在the spinner docs 的帮助下制作了第一个微调器,但是我无法为每个选择做不同的事情。有没有人可以帮助我?
谢谢!
【问题讨论】:
-
附上你想为每个选择显示的代码和数据
我正在尝试使用微调器,保存每个选择的位置并依赖于此,出现每个位置具有不同选择的另一个微调器.. 我在the spinner docs 的帮助下制作了第一个微调器,但是我无法为每个选择做不同的事情。有没有人可以帮助我?
谢谢!
【问题讨论】:
您可以在onItemSelected() 方法中使用switch 语句:
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
// An item was selected. You can retrieve the selected item using
// parent.getItemAtPosition(pos)
switch (pos) {
case 0:
//do action for first selection
break;
case 1:
//do action for second selection
break;
...
}
}
【讨论】:
暗示太简单了: 试试微调器 ItemSelectedListener。
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
if(position==0){}//do the function you want to perform
else if(position==1){}//And so on
// your code here
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
【讨论】:
if,因为它的计算成本更高,它必须进行更多检查,具体取决于微调器中的元素,请改用switch