我现在卡住了,目前想知道为什么我的可变数组列表返回 null,即使它正在使用 postvalue() 进行更新。我尝试使用 Toast 显示它,它显示 [] 我认为它是空的。它之间没有空间,所以看起来像一个盒子。为了显示文本,我也做了 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()
}
})
}