如何禁用单选按钮上的双击事件?

时间:2018-11-02 03:45:32

标签: android radio-button

我只想禁用单选按钮上的双击事件,仅此而已。我真的不知道该如何实现。 看到我的单选按钮已经在单选按钮组中,我对此进行了自定义:单击它时,它会展开一个下拉列表,再次单击时它会折叠该下拉列表,但是当列表扩展时双击它时,列表折叠起来,但是单选按钮处于活动状态,所以我完全只想禁用双击事件。

请帮帮我,谢谢。

2 个答案:

答案 0 :(得分:2)

我发现可以解决这个常见问题,

如果要通话,请阻止两次单击XML文件,然后在下面的代码中写上

<RadioButton android:id="@+id/radioButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/text"
    android:onClick="preventTwoClick"/>

如果要通话,请阻止两次单击JAVA文件,然后在下面的代码中写上

radioButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        // Prevent Two Click
        preventTwoClick(view);
        // Do magic
    }
});

在另一个函数中,

public void preventTwoClick(final View view){
    view.setEnabled(false);
    view.postDelayed(new Runnable() {
        public void run() {
           view.setEnabled(true);
        }
    }, 500);
}

答案 1 :(得分:1)

来自文档

  

要创建每个单选按钮选项,请在您的   布局。但是,由于单选按钮是互斥的,所以您   必须将它们分组到一个RadioGroup中。通过分组   一起,系统可确保只有一个单选按钮可以   一次选择。

然后按照以下用法使用

<?xml version="1.0" encoding="utf-8"?>
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <RadioButton android:id="@+id/radio_pirates"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/pirates"
        android:onClick="onRadioButtonClicked"/>
    <RadioButton android:id="@+id/radio_ninjas"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/ninjas"
        android:onClick="onRadioButtonClicked"/>
</RadioGroup>

每次点击RadioButton的时间都是唯一的,避免了双击!