如何使用anko向现有布局添加视图

时间:2019-06-25 11:45:13

标签: android kotlin anko

我需要在运行时将新视图添加到现有的verticalLayout{}中。 如果我使用标准的android组件并通过以下方式添加它们,则它会起作用:layoutName.addView(view)。但是,当我尝试添加anko视图时,我得到了认可:

  

E / Android运行时:致命异常:主要       流程:ar.com.testapp,PID:26644       java.lang.IllegalStateException:指定的子代已经有一个父代。您必须先在孩子的父母上调用removeView()。

怎么可能?

val attributeLayout = verticalLayout{
     id = attributeLayoutId
}
val typeSpinner = spinner{}
typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
     override fun onNothingSelected(parent: AdapterView<*>?) {}
     override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
     attributeLayout.addView(                                     
          themedCheckBox(R.style.EditText){
                text = it.name
                isChecked = true                                            
          }
     )
}

0 个答案:

没有答案