如何解决Kotlin关于通用性的冲突类型不匹配

时间:2018-10-12 02:41:51

标签: generics kotlin

我在网络视图中选择照片:

private var mFilePathCallback: ValueCallback<*>? = null

WebChromeClient() {    
    override fun onShowFileChooser( webView: WebView, filePathCallback:ValueCallback<Array<Uri>>, fileChooserParams:WebChromeClient.FileChooserParams): Boolean {    
        mFilePathCallback = filePathCallback
        Log.d(TAG, "onShowFileChooser")    
    }

    // For Android 3.0+
    fun openFileChooser(uploadMsg: ValueCallback<Uri>) {
        mFilePathCallback = uploadMsg
    }

    // For Android 3.0+
    fun openFileChooser(uploadMsg: ValueCallback<*>, acceptType: String){
        mFilePathCallback = uploadMsg
    }

    //For Android 4.1
    fun openFileChooser(uploadMsg: ValueCallback<Uri>, acceptType: String, capture: String) {
        mFilePathCallback = uploadMsg
    }
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {    
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Log.d(TAG, "pick image build version >= LOLLIPOP")
        mFilePathCallback!!.onReceiveValue(arrayOf<Uri>(uri)) // it occours error type mismatch
    } else {                        
        Log.d(TAG, "pick image build version less than LOLLIPOP")
        mFilePathCallback!!.onReceiveValue(uri) // it occours error type mismatch    

    }
}

0 个答案:

没有答案