【问题标题】:Radio buttons created programmatically does not toggle以编程方式创建的单选按钮不会切换
【发布时间】:2019-10-23 12:27:51
【问题描述】:

我正在以编程方式创建一个带有两个单选按钮的单选组。最初选中一个按钮。当我单击另一个按钮时创建时,最初选中的按钮的状态不会切换。

        val medlayout: LinearLayout = findViewById(R.id.manuallayout)
        var inputgroup = RadioGroup(this)
        inputgroup.orientation = RadioGroup.HORIZONTAL
        medlayout.addView(inputgroup)

        var inputText = RadioButton(this)
        inputText.text = "Type Name"
        inputText.isChecked = true
        inputgroup.addView(inputText)

        var inputPic = RadioButton(this)
        inputPic.text = "Take a Photo"
        inputgroup.addView(inputPic)

我在这里错过了什么

【问题讨论】:

  • 我找到了问题背后的原因。由于我设置 inputText.isChecked = true ,它永远不会变成假。在那种情况下,我的问题是如何将一个按钮设置为默认情况下为真

标签: android kotlin radio-button


【解决方案1】:

您需要为单选按钮设置 ID

val medlayout: LinearLayout = findViewById(R.id.manuallayout)
var inputgroup = RadioGroup(this)
inputgroup.orientation = RadioGroup.HORIZONTAL
medlayout.addView(inputgroup)

var inputText = RadioButton(this)
inputText.id = View.generateViewId()    // Set ID for inputText
inputText.text = "Type Name"
inputText.isChecked = true
inputgroup.addView(inputText)

var inputPic = RadioButton(this)
inputPic.id = View.generateViewId()    // Set ID for inputPic
inputPic.text = "Take a Photo"
inputgroup.addView(inputPic)

【讨论】:

    【解决方案2】:

    只需将 id 设置为您的 RadioButtons,如下所示:

        val medlayout: LinearLayout = findViewById(R.id.ll)
        var inputgroup = RadioGroup(this)
        inputgroup.orientation = RadioGroup.HORIZONTAL
        medlayout.addView(inputgroup)
    
        var inputText = RadioButton(this)
        inputText.text = "Type Name"
        inputText.id = 0
        inputText.isChecked = true
        inputgroup.addView(inputText)
    
        var inputPic = RadioButton(this)
        inputPic.text = "Take a Photo"
        inputPic.id = 1
        inputgroup.addView(inputPic)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      • 2014-08-30
      • 2013-07-09
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多