如何使用视图绑定从片段更改父活动中的视图[重复]
Posted
技术标签:
【中文标题】如何使用视图绑定从片段更改父活动中的视图[重复]【英文标题】:How to change view in parent activity from Fragment with view binding [duplicate] 【发布时间】:2021-08-14 18:27:25 【问题描述】:视图绑定是访问视图的推荐方式,此问题已过时:How to access parent Activity View in Fragment。
那么,使用视图绑定从片段编辑活动视图的正确方法是什么?
【问题讨论】:
这取决于您需要它来做什么(例如引用、实例、创建实例等)。在任何大型框架中,您可以通过多种方式获取大部分资源,但通常每个方法返回它的不同版本,通常针对某个(一组)用例量身定制......换句话说,你需要它做什么? :) ViewBinding 与两个实体(活动、片段等)之间的数据共享无关。如果您确实需要访问共享状态,Google 推荐的方法是使用共享 ViewModel。 【参考方案1】:公开活动的绑定变量并像这样访问它
(requireActivity() as MainActivity).binding.viewToBeAccessed
【讨论】:
【参考方案2】:您可以使用 getActivity() 从片段中获取对父活动的引用。 您还可以调用 requireActivity() ,然后调用 getActivity() 并在其为空时抛出异常,例如该片段未附加到任何活动。
【讨论】:
以上是关于如何使用视图绑定从片段更改父活动中的视图[重复]的主要内容,如果未能解决你的问题,请参考以下文章