在代码中创建大量视图

时间:2017-12-10 20:28:36

标签: android performance android-layout

我正在尝试根据我的数据库创建一个包含CheckBoxes列表的自定义视图。这意味着我必须在运行时创建视图,而不能在XML中创建它。但是,我正在使用的方法非常慢。是否有更快的方法在代码中创建大量的视图?

例如,对于我的数据库中的18种类型,创建所有CheckBoxes可能需要1秒多的时间。

class FilterView : LinearLayout {

private fun init(types : List<Type>){

    ... setup

    // Creating the CheckBoxes, this takes all the time. 
    checkboxes = Array(types.size, {

        AppCompatCheckBox(context).apply {
            text = types[it].type
            CompoundButtonCompat.setButtonTintList(this, ColorStateList(states, intArrayOf(colours[it], colours[it])))
        }
    })

   ... add to view
}

1 个答案:

答案 0 :(得分:0)

您正在寻找的是Recyclerview。可以解释here。 downvote可能是因为这被认为是常识或自己用Google搜索。我也曾经是新人。你走了。