在Android中使用单选按钮防止两个或三个手指选择

时间:2016-11-01 12:15:05

标签: android

recyclerview中有10个单选按钮。 我想点击单选按钮,必须在触摸后选择。用一根手指好像但是如果从radiobutton选择2个以上的项目的话同时使用2个以上的手指的话,有多个选择问题。只需选择一个项目。我怎么解决这个问题 ?如何防止2个或更多手指敲击?

我用下面的代码控制它。

for(int i=0;i<itemList.size();i++) { 

if(itemList.get(i).isSelected())

itemList.get(i).setSelected(false); 

} 

itemList.get(position).setSelected(true); 

adapter.notifyDataSetChanged();

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你会想要使用RadioGroup。

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_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>

在您的活动中:

public void onRadioButtonClicked(View view) {
    // Is the button now checked?
    boolean checked = ((RadioButton) view).isChecked();

    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.radio_pirates:
            if (checked)
                // Pirates are the best
            break;
        case R.id.radio_ninjas:
            if (checked)
                // Ninjas rule
            break;
    }
}

您应首先阅读文档:https://developer.android.com/guide/topics/ui/controls/radiobutton.html