Android防止双击微调器

Posted

技术标签:

【中文标题】Android防止双击微调器【英文标题】:Android Preventing Double Click On A Spinner 【发布时间】:2013-05-09 11:25:24 【问题描述】:

默认情况下,我在微调器视图中有一个不需要的问题。

android 2.2 上,当我双击任何微调器时,它会打开两次,按下后退按钮后,第二个微调器会关闭,但第一个微调器保持打开状态。

我需要解决这个问题。

无论用户点击多少次,我只希望微调器显示一次。

Android 4.0+ 不存在此问题。

有没有办法修复这个错误?

【问题讨论】:

我不明白你为什么要双击微调器?? 你不用担心框架的一部分。 @MuhammadBabar 如果有人需要修复它们...这是客户要求。 您可以简单地在 Spinner 上设置 onClickListener(),在 onClick(View v) 中执行 mSpinner.setClickable(false) 并在 onItemSelected()onBackPressed() 中执行 mSpinner.setClickable(true) 【参考方案1】:

您可以在用户第一次点击项目时使用setEnabled(false)以防止进一步交互,并在需要时使用setEnabled(true)。

【讨论】:

用这个实现了,但是双击太快了,所以它不起作用。 那么唯一的办法就是设置 onTouchListener【参考方案2】:

你可以使用这样的东西,

可能在你的onClick();

view.setEnabled(false);

new Handler().postDelayed(new Runnable() 
@Override
public void run() 
view.setEnabled(true);

, TIME_IN_MS);

【讨论】:

以上是关于Android防止双击微调器的主要内容,如果未能解决你的问题,请参考以下文章

Android-XML 自定义微调器

Android将微调器缩短到内容宽度

Android微调器下拉图标不显示

从 PHP MySql 填充 Android 微调器

Android微调器中的重复项目

Android 日期选择器片段更改为微调器