只是想知道您如何处理以下问题:根据两个微调器的选定项目计算结果。为了处理 UI 事务,即用户在其中一个微调器中选择一个新项目,我setOnItemSelectedListener
在我onCreate()
的活动方法中为微调器安装了一个侦听器。
现在:当然,这行得通。侦听器的工作是触发新的计算结果。
问题:因为我拦截onPause()
onResume()
以保存/恢复最后一个状态,所以我有一个方法可以像这里一样以编程方式设置这两个微调器的选定项目:
startSpinner.setSelection(pStart);
destSpinner.setSelection(pDest);
这两个调用也调用了侦听器!我的结果计算方法加上新结果集的通知在这里调用了两次!
一个愚蠢的直接方法是使用一个布尔变量来禁用侦听器在内部所做的任何事情,在设置所选项目之前设置它并在之后重置它。好的。但是有没有更好的方法??
我不希望通过代码调用侦听器 - 操作,仅通过用户操作!:-(
你怎么做呢?谢谢!