程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了kotlin 未解析参考 由于接收器类型不匹配,以下候选都不适用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决kotlin 未解析参 由于接收器类型不匹配,以下候选都不适用?

开发过程中遇到kotlin 未解析参 由于接收器类型不匹配,以下候选都不适用的问题如何解决?下面主要结合日常开发的经验,给出你关于kotlin 未解析参 由于接收器类型不匹配,以下候选都不适用的解决方法建议,希望对你解决kotlin 未解析参 由于接收器类型不匹配,以下候选都不适用有所启发或帮助;

Utils 类中的 HandleAPIError。针对 API 错误为 Snackbar 创建自定义方法。

未解析的参。由于接收器类型不匹配,以下候选都不适用: public fun VIEw.snackbar(message: String,action: (() → Unit)? = ...): Utils.kt文件中定义的Unit

requirevIEw() 中 Fragment 中的接收器类型。用于活动的接收器类型。

实用工具.kt

fun VIEw.snackbar(message: String,action: (() -> Unit)? = null){
    val snackbar = Snackbar.make(this,message,Snackbar.LENGTH_LONG)
    action?.let {
        snackbar.setAction("Retry"){
            it()
        }
        snackbar.show()
    }
}

fun Fragment.handleAPIError(
    failure : resource.Failure,retry : (() -> Unit)? = null
    ){
    when{
        failure.isNetworkError -> requireVIEw().snackbar("Please @R_801_10943@k internet Connection",retry )
    }
}

fun Activity.handleAPIError(
    failure : resource.Failure,retry : (() -> Unit)? = null
){
    when{
        //which receiver type used for snackbar?
        failure.isNetworkError -> snackbar(
            "Please @R_801_10943@k internet Connection",retry
        )
}
}

解决方法

尝试使用 this.window.decorView.rootView 作为:

fun Activity.handleApiError(
        failure : resource.Failure,retry : (() -> Unit)? = null
){
    when{
        //which receiver type used for snackbar?
        failure.isNetworkError -> this.window.decorView.rootView.snackbar(
                "Please @R_801_10943@k internet Connection",retry
        )
    }
}

大佬总结

以上是大佬教程为你收集整理的kotlin 未解析参考 由于接收器类型不匹配,以下候选都不适用全部内容,希望文章能够帮你解决kotlin 未解析参考 由于接收器类型不匹配,以下候选都不适用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:kotlin