Android Spinner:如何在用户退出Spinner时捕获并保留所选值?

4
当一个下拉框弹出时,通常有一个预选的值。如果用户明确选择了另一个项目,则会调用我的onClickItem处理程序。但是我没有找到一种方法来检测用户何时想保持当前选择的list_item不变?当他们喜欢当前值时,用户应该如何退出这样的下拉框?你能添加一个关闭按钮或其他东西让他们退出而不必重新选择已经选择的项目吗?另外,如果他们重新选择相同的项目,如何检测到?我认为我的处理程序没有被调用。
清楚地说明两件事:
1)当用户要保留当前值时,他们如何退出下拉框?是通过重新选择已经选择的项目吗?如果是这样,我如何在代码中检测这一点,以便可以关闭对话框?
2)是否有其他选项让用户关闭下拉框而不必重新选择已经选择的值?例如提供一个对话框关闭按钮?想知道其他人是如何处理这个问题的。谢谢

我发布了一个完全相同的问题:https://dev59.com/AVTTa4cB1Zd3GeqPvcRu 如果你得到了答案,请链接到我的问题上,或者直接回答它 :) - Yevgeny Simkin
1个回答

1
用户可以通过按下硬件返回键退出旋转器对话框。这就是该键的作用-退出活动和对话框。如果当前选择的项目已被选中,则也会退出旋转器对话框。通常不需要特殊处理来允许取消选择,因为用户可以直接退出旋转器对话框而不进行选择。

2
onNothingSelected事件在按下返回键时不会被触发。更大的问题是当用户点击一个已经选中的项目时,它也会使Spinner消失,但也不产生任何回调。所以,无意冒犯,但您的回答既未解决问题也未解决您所选择的问题! - Yevgeny Simkin
抱歉,我误解了onNothingSelected事件,已编辑以删除。不过,我认为原帖末尾总结的问题已经得到解答。用户如何退出Spinner,并且除了选择当前选定的项目之外,用户是否有其他选项? - erichamion
用户可以通过触摸旋转器范围之外的区域来关闭它。据我所知,没有回调被触发。 - user153275

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接