我正在尝试将芯片添加到ChipGroup(而不是singleLine)中:
val chip = Chip(this)
chip.isCloseIconVisible = true
for (i in 0..10) {
chip.setText("Some text $i")
chip_group.addView(chip as View)
}
但我有一个例外:
The specified child already has a parent. You must call removeView() on the child's parent first.
如何将Chip标记为唯一子代?还是我该怎么办?
答案 0 :(得分:1)
您需要在循环内部声明芯片
for (i in 0..10) {
val chip = Chip(this)
chip.isCloseIconVisible = true
chip.setText("Some text $i")
chip_group.addView(chip as View)
}
由于您将其声明为val
(这表示未更改它是值),因此您将得到相同的子错误。
答案 1 :(得分:0)
同一父视图不能多次添加。
请参阅: https://stackoverflow.com/a/24032857
它将引发上述异常。
您试图多次将相同的Chip添加到父项。
尝试修改后的代码,
for (i in 0..10) {
val chip = Chip(this)
chip.isCloseIconVisible = true
chip.setText("Some text $i")
chip_group.addView(chip as View)
}