重新打开片段后片段中的 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 上可用。
我想问一下。我在片段和导航组件中使用视图绑定来导航片段。
是这样的
(第一个任务) 从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 上可用。