微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在utils类中使用snackbar为活动分配哪种方法

如何解决在utils类中使用snackbar为活动分配哪种方法

Utils 类 handleApiError。为活动创建了自定义 Snackbar 方法。 requireview() 用于分配给小吃店的片段。活动使用了哪个函数

实用工具.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 check internet Connection",retry )
    }
}

fun Activity.handleApiError(
    failure : Resource.Failure,retry : (() -> Unit)? = null
){
    when{
        failure.isNetworkError -> window.currentFocus?.snackbar(
            "Please check internet Connection",retry
        )
        failure.errorCode == 401 ->{
            if (this is MainActivity){
                //window.decorView.snackbar("Registration Failed")

            }else{
                //@Todo logout
            }
        }else -> {
            val error = failure.errorBody?.string().toString()
        window.currentFocus?.snackbar(error)


        }

    }

window.currentFocus 不显示小吃店。对于使用 requireView() 分配小吃店的 Fragment 给出 代码.哪个函数用于分配给小吃店的活动?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。