美文网首页我爱编程
Kotlin Android Extensions在Fragme

Kotlin Android Extensions在Fragme

作者: 解语何妨话片时 | 来源:发表于2018-05-30 10:27 被阅读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.//在这里直接获取控件就没有问题了
        }
    

    相关文章

      网友评论

        本文标题:Kotlin Android Extensions在Fragme

        本文链接:https://www.haomeiwen.com/subject/wlltsftx.html