How to add an item to an ArrayList in Kotlin?

Viewed 176167

How to add an item to an ArrayList in Kotlin?

6 Answers

For people just migrating from java, In Kotlin List is by default immutable and mutable version of Lists is called MutableList.

Hence if you have something like :

val list: List<String> = ArrayList()

In this case you will not get an add() method as list is immutable. Hence you will have to declare a MutableList as shown below :

val list: MutableList<String> = ArrayList()

Now you will see an add() method and you can add elements to any list.

You can add a new item to an array using +=, for example:

private var songs: Array<String> = arrayOf()
   fun add(input: String) {
        songs += input
    }

This is a code sample of how to add an item in a String ArrayList in Kotlin.

val arrayList: ArrayList<String> = ArrayList()
arrayList.add("January")

What I was doing was storing a list of strings in the viewmodel and accessing it in the fragment.

I created a dialog fragment and was editing the string in the dialog and returning the string value to the main fragment using navigation components.

When entering the dialog fragment the viewmodel was being cleared and the list with it. so when I wud pass the list to the adapter it would not really show anything and have a reference error.

Also, when passing list to adapter add ,toList()

`adapter.subMItList(viewModel.lableList.toList())`

Related