Android 使用 LiveData 显示实时状态变化

更新日期: 2022-11-25 阅读次数: 341 字数: 162 分类: Android

例如加载数据时, 显示转圈提示。或者显示 connecting / finding data ...

也可以加上动态图标:

https://github.com/material-components/material-components-android/blob/master/docs/components/ProgressIndicator.md

用最下面的转圈图标非常直观。

注意还有失败的情况,比如列表中蓝牙设备消失或关闭。

状态放在哪里

还是存储在 ViewModel 中最合适。

同时在 activity / fragment 中对状态 LiveData 进行监听。

LiveData 代码模板

定义:

val connectingStatus = MutableLiveData("Not Connected")

监听:

// onViewCreated
viewModel.connectingStatus.observe(
	viewLifecycleOwner, Observer {
		it?.let {
			binding.status?.text = it
		}
	}
)

唯一的麻烦就是要写一堆 observe,感觉还是 data binding 方便一点。

tags: LiveData

爱评论不评论