在kotlin中 重写BaseExpandableListAda

2019-12-13  本文已影响0人  凹凸大帝

使用ExpandableListView时,先写的是java的代码,继承BaseExpandableListAdapter,然后转kotlin,运行起来一直报错:

java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter convertView

        at com.jjhd.wash.adapter.BillListAdapter.getGroupView(BillListAdapter.kt)

        at android.widget.ExpandableListConnector.getView(ExpandableListConnector.java:446)

后来研究了很久,才发现是变量非空的问题

java代码转kotlin时,

override fun getGroupView(

groupPosition: Int,

isExpanded: Boolean,

convertView: View,

parent: ViewGroup

): View {

return LayoutInflater.from(context).inflate(R.layout.item_bill_list_group,null)

}

参数中,convertView是可以为空的,kotlin在检测非空时就报错了

把convertView:View改为covnertView:View?就搞定了。

getChildView时同理

上一篇下一篇

猜你喜欢

热点阅读