Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNo...

问题

java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter convertView
        at absolutely.kotlin.adapter.MyExpandAdapter.getGroupView(Unknown Source:2)
        at android.widget.ExpandableListConnector.getView(ExpandableListConnector.java:446)
        at android.widget.AbsListView.obtainView(AbsListView.java:2408)
        at android.widget.ListView.makeAndAddView(ListView.java:2126)
        at android.widget.ListView.fillDown(ListView.java:851)
        at android.widget.ListView.fillDown(ListView.java:833)
        at android.widget.ListView.fillFromTop(ListView.java:921)
        at android.widget.ListView.layoutChildren(ListView.java:1872)
        at android.widget.AbsListView.onLayout(AbsListView.java:2207)
        at absolutely.kotlin.clean.base.view.ExpandListView.onLayout(ExpandListView.kt:87)
        ...

原因

    Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull意为必不为空的参数为空了,一般发生将java代码转为Kotlin代码时,因为java中的参数可以传null,而装换过来的Kotlin代码使用是的非空类型,当该方法传入null值时,就会产生该错误,在这里是很明显是getGroupView的参数出了问题。

解决

    我的MyExpandAdapter是继承自BaseExpandableListAdapter的适配器,转换后的Kotlin代码中的getGroupView有四个参数,如下:

fun getGroupView(groupPosition: Int, isExpanded: Boolean ,
            convertView: View, parent: ViewGroup ):View {
    .....
    return convertView;
}

    其中参数convertView,parent都可能为null,所以需要将其变为可空类型,即在其类型后加上?,如下:

fun getGroupView(groupPosition: Int, isExpanded: Boolean ,
            convertView: View?, parent: ViewGroup? ):View {
    .....
    return convertView;
}

    同理,该类中的getChildView方法需要相同处理

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【知~学习】 诵读《六项精进大纲1遍 共1382遍。 诵读《大学》1遍共1193遍。 诵金刚经0部 心经1卷 诵...
    天智不渝阅读 3,843评论 0 0
  • 一、符合5条就该分手了 1.他的喜怒哀乐已经影响不到你 如果在你们的生活相处中,对方的喜怒哀乐都已经不能够对...
    张天真吴小哥阅读 18,192评论 2 1
  • 她 对着夜空中的城市喃喃细语 说尽了霓虹灯下的温柔情话 远方多热闹 近里满凄凉 山谷揣摩着荒原的心思 海追不上浪 ...
    碧落梧桐阅读 1,566评论 2 9
  • 你喜欢自己的工作吗? 说实在话的,不是很喜欢,因为我自己来这个公司的初衷是想要求谋生的,是不求发展的,因为做换...
    左耳的小蚂蚁阅读 1,644评论 1 2