我得到这个错误
java。lang.IllegalArgumentException:指定为非null的参数为null:方法kotlin。jvm。内部的内在的。检查参数完整,参数事件
为了那条线
override-fun-onEditorAction(v:TextView,actionId:Int,event:KeyEvent)
以下是整个代码。这段代码最初是在java中,我使用Android Studio将其转换为静态编程语言,但现在我得到了这个错误。我试图重建和清理这个项目,但没有成功。
val action = supportActionBar //get the actionbar
action!!.setDisplayShowCustomEnabled(true) //enable it to display a custom view in the action bar.
action.setCustomView(R.layout.search_bar)//add the custom view
action.setDisplayShowTitleEnabled(false) //hide the title
edtSearch = 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 button
edtSearch?.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
}
})
对我来说,它发生在微调器适配器项选择器上。下面是正确的代码。
rootView.spinnerState.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
}
override fun onNothingSelected(parent: AdapterView<*>?) {}
}
确保适配器正确
要解决此问题,如果使用TextView,请将
。添加事件
参数设为空。OnEditorActionListener
在声明末尾:
override fun onEditorAction(v: TextView, actionId: Int, event: KeyEvent?)
最后一个参数可以是null
,如docs所述:
KeyEvent
:如果由回车键触发,则这是事件;否则,该值为空。
因此,您需要做的是使Kotlin类型为null,以说明这一点,否则注入的null
检查将在应用程序收到具有null
值的调用时崩溃,正如您已经看到的:
edtSearch?.setOnEditorActionListener(object : TextView.OnEditorActionListener {
override fun onEditorAction(v: TextView, actionId: Int, event: KeyEvent?): Boolean {
...
}
})
在这个答案中有更多关于平台类型的解释。
在将适配器代码转换为Kotlin后,我遇到了此错误: 充气行时会触发错误: 显然,一些不应该为null的参数是null,kotlin检查它。问题是我甚至不能调试新的kotlin代码。
不确定是什么原因导致了这种情况,但我正在尝试从api请求数据,该api包含一个对象数组。如果我将结果打印到控制台,则数据是正确的,除了之外,我希望是一个对象数组。我不明白我错过了什么? 我得到了这个错误: 谁能给我指一下正确的方向吗?课程代码如下: 示例JSON:
我在行得到异常。怎么会呢?这到底是怎么回事? 这是我的密码。 堆栈跟踪
我有java代码,我改成kotlin了,我的代码是用pdf-viewer库显示pdf的,我不明白为什么我的代码是错误的,下面是错误: 指定为non-null的是null参数:方法kotlin.jvm.internal.intrinsics.CheckParameterIsNotNull,inputStream参数 这是我的密码