java.lang.IllegalArgumentException:指定为非null的参数为null:方法kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,参数事件
为线
覆盖fun onEditorAction(v:TextVIEw,actionID:Int,event:KeyEvent)
以下是整个代码.这段代码最初是在java中,我使用Android Studio将其转换为Kotlin,但现在我收到了这个错误.我尝试重建和清理项目,但这没有用.
val action = supportActionbar //get the actionbaraction!!.setdisplayShowCustomEnabled(true) //enable it to display a custom vIEw in the action bar.action.setCustomVIEw(R.layout.search_bar)//add the custom vIEwaction.setdisplayShowTitleEnabled(false) //hIDe the TitleedtSearch = action.customVIEw.findVIEwByID(R.ID.edtSearch) as EditText //the text editor//this is a Listener to do a search when the user clicks on search buttonedtSearch?.setonEditorActionListener(object : TextVIEw.OnEditorActionListener { overrIDe fun onEditorAction(v: TextVIEw,actionID: Int,event: KeyEvent): Boolean { if (actionID == EditorInfo.IME_ACTION_SEARCH) { Log.e("TAG","search button pressed") //doSearch() return true } return false }})解决方法 最后一个参数可以为null,如 docs所述:
KeyEvent
: If triggered by an enter key,this is the event; otherwise,this is null.
所以你需要做的就是让Kotlin类型为空可以解释这个问题,否则注入的null检查会在你的应用程序获得一个带有null值的调用时崩溃,就像你已经看到它一样:
edtSearch?.setonEditorActionListener(object : TextVIEw.OnEditorActionListener { overrIDe fun onEditorAction(v: TextVIEw,event: KeyEvent?): Boolean { ... }})
有关this answer平台类型的更多说明.
总结以上是内存溢出为你收集整理的android – java.lang.IllegalArgumentException:指定为非null的参数为null:方法kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull全部内容,希望文章能够帮你解决android – java.lang.IllegalArgumentException:指定为非null的参数为null:方法kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)