postvalue() で更新されているにもかかわらず、変更可能な arraylist が null を返す理由がわかりません。Toastを使って表示しようとしたところ、nullだと思う[]が表示されました。間にスペースがなく、箱のように見えました。テキストを表示するために toString() も実行しました。どうすればこの問題を解決できますか?
これが私の主な活動です:
val list = ArrayList<String>()
list.add("text1")
list.add("text2")
val viewmodel = ViewModelProviders.of(this).get(viewmodel::class.java)
viewmodel.Testlist.postValue(list)
ビューモデル:
class viewmodel: ViewModel() {
val Testlist: MutableLiveData<ArrayList<String>> = MutableLiveData()
init {
Testlist.value = arrayListOf()
}
}
断片:
トップエリア:
activity?.let {
val viewmodel = ViewModelProviders.of(this).get(viewmodel::class.java)
observeInput(viewmodel)
}
ボトムエリア:
private fun observeInput(viewmodel: viewmodel) {
viewmodel.Testlist.observe(viewLifecycleOwner, Observer {
it?.let {
Toast.makeText(context, it.toString(), Toast.LENGTH_LONG).show()
}
})
}