重新打开片段后片段中的 ViewBinding Null 异常错误

ViewBinding Null Exception Error in Fragment after reopen the fragment

我想问一下。我在片段和导航组件中使用视图绑定来导航片段。

是这样的

(第一个任务) 从Activity A(没有片段)-> Activity B(片段A) 并做一些处理。之后我完成 Activity B.

然后现在我在 Activity A。问题是,当我做同样的任务时

(第二个任务) Activity A -> Activity B(片段 A) 并在片段 A 中进行一些处理,我得到了空视图绑定。

你能给我这个错误的解决方案吗?我解决不了 先谢谢了

这是我在片段 A 中的代码

private var _binding : FragmentOrderBinding? = null
private val binding get() = _binding!!

.....

override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    _binding = FragmentOrderBinding.inflate(inflater, container, false)
    val mapsView = binding?.root?.findViewById<ViewGroup>(R.id.maps_view)
    markerViewAdapter = MarkerViewAdapter(mapsView!!)
    return binding?.root
}

......

override fun onDestroyView() {
    super.onDestroyView()
    _binding = null
}

正如我在 Google 中看到的那样:

您的实现就像 Google。

https://developer.android.com/topic/libraries/view-binding

所以我的建议是:

构建 -> 清理项目

否则您也可以共享 exception 日志。

尝试将 markerViewAdapter 移动到 onViewCreate

或者使用视图绑定委托库来处理视图绑定,许多在 github 上可用。