Я исправил ваш код, чтобы вы могли видеть, что что-то происходит внутри созданного вами списка.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val listView = findViewById<ListView>(R.id.listView)
listView.adapter = MyCustomAdapter(this, populateArrayList())
}
private fun populateArrayList() : ArrayList<String>{
val myArrayList = ArrayList<String>()
myArrayList.add("Luke")
myArrayList.add("Anakin")
myArrayList.add("Obi-Wan")
myArrayList.add("Jarjar")
return myArrayList
}
private class MyCustomAdapter(private val context: Context, private val myList: ArrayList<String>):BaseAdapter() {
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View? {
val rowLayout = LayoutInflater.from(context).inflate(R.layout.rows,parent,false)
val countRow = rowLayout.findViewById<TextView>(R.id.rowNumber)
val nameText = rowLayout.findViewById<TextView>(R.id.name_textView)
nameText.text = myList[position]
countRow.text = "Row :$position"
return rowLayout
}
override fun getItem(position: Int): Any {
return position
}
override fun getItemId(position: Int): Long {
return position.toLong()
}
override fun getCount(): Int {
return myList.size
}
}
}
Вы создали представление списка, но не добавили в него ничего , и каждый список должен быть заполнен информацией для окон просмотра (каждая имеющаяся у вас строка); и для этого в вашем классе адаптера вам нужно передать ArrayList в качестве параметра для конструктора (private val myList).
Затем вы связываете каждую строку с позицией в списке.
Я считаю, что вы хотите делать каждый раз, когда вы нажимаете кнопку, к вам будет добавляться новый элемент с информацией, которая есть в тексте редактирования, поэтому создайте onClickListener для своей кнопки и при каждом нажатии вы добавляете его в свой массив.