Android - 如何在不触发 setOnItemSelectedListener 的情况下更改微调器值

Oli*_*ver 5 android choice spinner android-activity

我有一个微调器及其适配器。我有一个自定义的列表和一个微调视图。

可以通过两种方式修改微调器的值: - 由用户选择 - 以编程方式

当用户做出选择时,并且只有当这个选择与选择的值不同时,我可能(或不)想要显示第二个活动让他选择一个完成值。

如果用户取消第二个活动,我希望微调器选择不被验证并保持其原始位置。

但是我不想捕捉或能够识别以编程方式进行的更改,以免因无用的选择而惹恼用户。

但我找不到任何方法来做到这一点。

你有想法吗 ?

我能做的最好的是: - 在我的类属性中记住微调器的值, - 触发和 itemSelected 事件并将所选值与记住的值进行比较, - 清空微调器视图,以便新选择不可见(因为它缺少第二个选择可能不完整) - 完成第二个活动 - 根据第二个活动的结果,强制微调器中的旧值或使微调器值可见,这次完成

这样做,并过滤用户点击,我可能总是强制记忆的旧微调器值到我想以编程方式放入的新微调器值。如果我不这样做,事件就会被触发,我没有办法阻止用户进行第二个活动。

你有没有更好的方法来做我的事情?

感谢您的帮助。

奥利弗