Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通过接口传递值_Android_Kotlin_Interface_Radio Button - Fatal编程技术网

Android 通过接口传递值

Android 通过接口传递值,android,kotlin,interface,radio-button,Android,Kotlin,Interface,Radio Button,我是kotlin的新手,我试图通过接口将checked单选按钮的值从一个类传递到另一个活动。我有一个名为RadioGroupHelperInterface的接口 interface RadioGroupHelperInterface { fun onSelect(selectedItem: String) } 然后我有一个类,我想从中传递checked单选按钮的值 class GRadioGroupHelper { private val radioGroupHelperInterface

我是kotlin的新手,我试图通过接口将checked单选按钮的值从一个类传递到另一个活动。我有一个名为RadioGroupHelperInterface的接口

interface RadioGroupHelperInterface {
fun onSelect(selectedItem: String)
}
然后我有一个类,我想从中传递checked单选按钮的值

class GRadioGroupHelper {

 private val radioGroupHelperInterface: RadioGroupHelperInterface? = null


fun setRadioExclusiveClick(parent: ViewGroup?) {
    val radios: List<RadioButton>? = parent?.let { getRadioButtons(it) }
    if (radios != null) {
        for (radio in radios) {
            radio.setOnClickListener { v ->
                val r: RadioButton = v as RadioButton
                r.isChecked = true
                radioGroupHelperInterface?.onSelect(r.text as String)

                checkedValue = r.text as String

                for (r2 in radios) {
                    if (r2.getId() !== r.getId()) {
                        r2.isChecked = false
                    }
                }
            }
        }
    }
}
}

但是我无法从活动中获取我在单选框中选中的值,尽管该值可以在RadioRadioGroupHelper类中打印。有人能帮我吗?

您不能将
radiogroup-helpedinterface
字段设置为除null以外的任何值,null是其初始状态。你为什么不试试这个:

声明您的
GRadioGroupHelper
,如下所示:

class GRadioGroupHelper (private val helperInterface: RadioGroupHelperInterface) {
    // All your logic remains the same
}
这将允许您避免
RadioGroupHelperInterface
实例的可空性,并且您还可以通过构造函数在活动中设置它,如下所示:

val radioGRadioGroupHelper = GRadioGroupHelper(this)
请注意,我将
var
更改为
val
,因为我们不希望您的
RadioRadioGroup助手更改

val radioGRadioGroupHelper = GRadioGroupHelper(this)