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

文章目录

    例如加载数据时, 显示转圈提示。或者显示 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 方便一点。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式