在 Kotlin 中获取自定义 ArrayAdapter 的所有项目

Get all Items of a custom ArrayAdapter in Kotlin

我正在制作一个自定义 ArrayAdapter,我需要获取项目列表,我只是创建了一个名为 getItems 的方法,return 列表在适配器构造函数中传递,问题是 Android 工作室给我这个错误信息:

我在 Java 中这样做过,但在 Kotlin 中可以实现相同的行为。 这是我的实际代码:

class FichaDeContactoVaciaAdapter(context: Context,var items : 
List<FichaContacto>) : ArrayAdapter<FichaContacto>(context, 0, items){

override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
    val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
    val rowView = inflater.inflate(R.layout.list_item_ficha_contacto, parent,false)


    val addCardButton = rowView.findViewById<Button>(R.id.anadirFichaButton)
    addCardButton.setOnClickListener{

        add(FichaContacto())
    }

    val currentFichaContacto = getItem(position)

   // rowView.textInputLayoutficha.setText("Hola mundo desde el adapter")

    val removeCardText = rowView.findViewById<TextView>(R.id.removerFicha)

    if (count == 1){
        removeCardText.visibility = View.GONE
    }
    removeCardText.setOnClickListener{
        Toast.makeText(rowView.context,"Estás haciendo click en el label " + position, Toast.LENGTH_SHORT).show()
        if(count > 1){
            remove(getItem(position))
        }
    }

    return rowView


}

fun getItems(): List<FichaContacto> {
    return items
}

}

那么,如何获取 ArrayAdapter 的 Items 列表?

您可以删除 getItems() 函数。您可以访问项目 属性 像这样。

val adapter = FichaDeContactoVaciaAdapter(context, items)
adapter.items