小编Her*_*ira的帖子

Android ViewModel 观察 Mu​​tableLiveData<ArrayList<String>>

我在片段中有一个 tablayout。选项卡布局有 3 个选项卡。哪个选项卡有一个片段。并且,在第一个片段中,我插入一个字符串并将其添加到 viewModel MutableLiveData<ArrayList>>变量中。然后,我想在第三个片段中观察。我的主要视图模型:

class MainViewModel : ViewModel() {
val message = MutableLiveData<ArrayList<String>>(arrayListOf())

fun myMessage(msg: String) {
    message.value?.add(msg)
}
}
Run Code Online (Sandbox Code Playgroud)

第三片段:

class Fragment3 : Fragment() {

lateinit var model: MainViewModel

private lateinit var viewModel: MainViewModel

override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    val view= inflater.inflate(R.layout.fragment3_fragment, container, false)

    model = activity?.let { ViewModelProvider(it).get(MainViewModel::class.java) }!!

    model.message.observe(viewLifecycleOwner, Observer {
        Log.e("aqui", "aqui$it")
    })
    return view
}
}
Run Code Online (Sandbox Code Playgroud)

我的第一个片段:

class Fragment1 : Fragment() {

lateinit var model: …
Run Code Online (Sandbox Code Playgroud)

android viewmodel observable android-livedata mutablelivedata

3
推荐指数
1
解决办法
3112
查看次数