我爱编程

Kotlin Android Extensions在Fragme

2018-05-30  本文已影响183人  解语何妨话片时

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.//在这里直接获取控件就没有问题了
    }
上一篇 下一篇

猜你喜欢

热点阅读