gpt4 book ai didi

android - Spinner 的监听器将默认/显示选项检测为 ItemSelected?

转载 作者:行者123 更新时间:2023-11-29 18:11:08 24 4
gpt4 key购买 nike

我有一个 Intent 启动的 Activity ,页面上有许多微调器。我刚刚在 this 之后设置了微调器的 ItemSelected 监听器指导。问题是,每个 Spinner 中的第一个项目基本上是“请选择”,只是它不是一个空白框:所以我的 ItemSelected Listener 检测到 Please select 在微调器中的事实并且似乎假设它被选中而不是加载默认情况下。理想情况下,我希望监听器仅检测何时做出实际选择。忽略默认选择的最佳方法是什么?

相关代码如下:

    ageSpinner = (Spinner) findViewById(R.id.ageSpinner);
ageAdapter = ArrayAdapter.createFromResource
(this, R.array.ageArray, android.R.layout.simple_spinner_item);
ageAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
ageSpinner.setAdapter(ageAdapter);
ageSpinner.setOnItemSelectedListener(new MyOnItemSelectedListener());

public class MyOnItemSelectedListener implements OnItemSelectedListener {

public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
Toast.makeText(parent.getContext(), "The planet is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}

public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}

最佳答案

问题是选择是在第一个布局阶段完成的。因此,第一次计算布局时,Spinner 引发 onItemSelected。这很烦人,但它的工作方式。您可以尝试几种不同的方法,但鉴于您已经有 Please Select Something 项,您能做的最好的事情就是在所选项为 0 时忽略该事件。

关于android - Spinner 的监听器将默认/显示选项检测为 ItemSelected?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10660076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com