Kotlin Android Extensions在Fragment中找不到控件的解决方法

Android Extensions在Fragment中遇到的问题

在Fragment中使用Android Extensions来查找使用控件的时候遇到该控件为空的异常:

 java.lang.IllegalStateException: rcvOrders must not be null
复制代码
  • 该View为空的原因,是在onCreateView中查找了控件,这时候我们inflate的View还没有返回,所以会找不到这个相应的控件。而这在我们通常所提取的BaseFragment的继承方法中很常见。(因为一般Fragment的init方法也放在了onCreateView中)

#解决方法:

  • onViewCreated(注意是onViewCreated而不是onCreateView)函数中使用Id直接调用:
 override fun onViewCreated(view: View,
 savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        rcvOrders.//在这里直接获取控件就没有问题了
    }
复制代码

转载于:https://juejin.im/post/5b07ab9251882538bd5528d1

你可能感兴趣的:(Kotlin Android Extensions在Fragment中找不到控件的解决方法)