【问题标题】:Getting radiobutton associated ArrayList value in radiogroup in Recyclerview values在 Recyclerview 值中的 radiogroup 中获取单选按钮关联的 ArrayList 值
【发布时间】:2018-04-30 18:56:29
【问题描述】:

我有一个像图片一样的布局。每个项目的 RadioGroup 内都有许多单选按钮。每个单选按钮对应于保存在数组列表中的特定 id。我需要在按钮的单击事件内的活动类中获取所有单选按钮和按钮上的所有单选组的选择值。是否有任何有效的技术可以实现我的目标。

【问题讨论】:

    标签: android android-recyclerview radio-button android-radiogroup


    【解决方案1】:

    如果你在 xml 中使用 radiogroup 那么 您只能在 xml 中处理点击事件

    <?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>
    

    并在您的活动(托管布局)中处理 onclick

    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;
        }
    }
    

    如您所见,它采用了您在布局中提到的 id。 现在变得容易了。

    警告: 1.方法的返回类型应该是void。

    1. 方法的名称应与 xml 中提供的名称相同。

    2. 并且应该有View类的参数视图。

    至于效率,您只是设置相同的 ClickListener 对象。所以效率很高。

    Source Android docs

    【讨论】:

    • 好的,这看起来很有希望。但是在这里,当我实现它时,问题是如何在活动中获得 recycleritem 位置。因为模型数组列表也确实依赖于回收器项目。
    • 如果回收器视图项的模型包含单选按钮,则在适配器中绑定视图时设置点击侦听器。休息取决于您在回收站视图中使用的模型
    猜你喜欢
    • 2017-03-22
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 2013-11-22
    • 2021-11-08
    相关资源
    最近更新 更多