文字列を一覧表示する場合にはListViewとArray Adapterを使うと良い。
その際に、動的に追加したり削除する操作をするにはどうすればよいか記事としてまとめる。
ActivityのメンバとしてArrayAdapterと空のMutableListを宣言しおく。
private var list: MutableList<String> = mutableListOf()
lateinit var adapter:ArrayAdapter<String>
初期化はonCreateの中で行う。
adapter = ArrayAdapter(
this,
android.R.layout.simple_list_item_1,
list
)
binding.lv.adapter = adapter
これでListViewにアダプターがセットされた。
これからはリストではなくアダプターを使ってデータを追加・削除していく。
・データ追加
adapter.add(str)
・データ削除
binding.lv.setOnItemLongClickListener { parent, view, position, id ->
val log = (view as TextView).text as String
adapter.remove(log)
false
}
上記の例では長押しした時に、文字列を取得、指定して削除するようにしている。