我正在尝试使用webview上传文件。我被卡在这一步。
我的完整代码=
override fun onImageChosen(chosenImage: ChosenImage) {
runOnUiThread(Runnable {
Log.d("CI:", chosenImage.filePathOriginal)
if (null == mUploadMessage && mUploadMessageArray == null) return@Runnable
val result = Uri.fromFile(File(chosenImage.fileThumbnail))
if (mUploadMessage != null) {
mUploadMessage!!.onReceiveValue(result)
mUploadMessage = null
} else if (mUploadMessageArray != null) {
val uris = arrayOfNulls<Uri>(1)
uris[0] = result
mUploadMessageArray!!.onReceiveValue(uris)
}
})
}
问题代码块=
val uris = arrayOfNulls<Uri>(1)
uris[0] = result
mUploadMessageArray!!.onReceiveValue(uris)
将鼠标悬停在uris(onReceiveValue(uris))上时,会出现以下错误
Type mismatch.
Required:
Array<Uri>!
Found:
Array<Uri?>
答案 0 :(得分:0)
您可以用不同的方式初始化uri
val uris = arrayOf(result)
不应出现可空性问题
问题(很明显)是,kotlin无法智能广播数组分配,因为不能确定是否将Nullable类型的每个元素都分配给非null值