Android 通过接口传递值
我是kotlin的新手,我试图通过接口将checked单选按钮的值从一个类传递到另一个活动。我有一个名为RadioGroupHelperInterface的接口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
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)