在不调用 onItemSelected 的情况下设置 Spinner Adapter
Set Spinner Adapter without calling onItemSelected
我的代码是这样的。
spinner.setAdapter(mAdapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
chosenPosition = position;
spinner.setEnabled(false);
}
我的意图是保存用户选择的位置并存储它并立即禁用微调器。但是,当我设置适配器时,第一个项目会自动被选中并且微调器被禁用。如何防止它在设置适配器时调用 onItemSelected 方法?
谢谢。
在顶部定义一个标志,例如:
boolean isFirstSelection = true;
并在您的 onItemSelected 方法中:
spinner.setEnabled(isFirstSelection);
if(isFirstSelection) {
isFirstSelection = !isFirstSelection;
}
我的代码是这样的。
spinner.setAdapter(mAdapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
chosenPosition = position;
spinner.setEnabled(false);
}
我的意图是保存用户选择的位置并存储它并立即禁用微调器。但是,当我设置适配器时,第一个项目会自动被选中并且微调器被禁用。如何防止它在设置适配器时调用 onItemSelected 方法?
谢谢。
在顶部定义一个标志,例如:
boolean isFirstSelection = true;
并在您的 onItemSelected 方法中:
spinner.setEnabled(isFirstSelection);
if(isFirstSelection) {
isFirstSelection = !isFirstSelection;
}