Kotlin Создать флажок и снять флажок программно - PullRequest
0 голосов
/ 31 октября 2018

Я могу добавить флажок динамически, когда я отмечаю существующий флажок, однако я не могу удалить новый флажок, когда сниму флажок существующего флажка.

baseCheckBox.setOnClickListener(View.OnClickListener {
            val linearLayout = findViewById(R.id.newLinearLayout) as LinearLayout

            if(baseCheckBox.isChecked){



                val newBox= CheckBox(this)

                newBox.text = "New CheckBox"
                newBox.isChecked = true
                linearLayout.addView(newBox)

            }

            else{
                val tempLayout = findViewById(1) as LinearLayout

            }

1 Ответ

0 голосов
/ 31 октября 2018

Один из способов сделать это - сохранить ссылку на вновь созданный Checkbox в теге baseCheckBox, чтобы вы могли получить и удалить его:

baseCheckBox.setOnClickListener{
    val linearLayout = findViewById<LinearLayout>(R.id.newLinearLayout)

    if (baseCheckBox.isChecked) {
        val newBox = CheckBox(this)
        newBox.text = "New CheckBox"
        newBox.isChecked = true
        linearLayout.addView(newBox)
        baseCheckBox.setTag(newBox)
    } else {
        try {
            val cb = baseCheckBox.tag as CheckBox
            linearLayout.removeView(cb)
            baseCheckBox.tag = null
        } catch (e: Exception) {
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...