首页 > 解决方案 > android studios 中的 Anko toast - 未解决的参考。以下候选人均不适用

问题描述

我无法显示要显示的 toast 消息。当我尝试调用它时,出现以下错误

Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public inline fun Fragment.toast(message: CharSequence): Toast defined in org.jetbrains.anko
public inline fun Fragment.toast(message: Int): Toast defined in org.jetbrains.anko
public inline fun Context.toast(message: CharSequence): Toast defined in org.jetbrains.anko
public inline fun Context.toast(message: Int): Toast defined in org.jetbrains.anko
public inline fun AnkoContext<*>.toast(message: CharSequence): Toast defined in org.jetbrains.anko
public inline fun AnkoContext<*>.toast(message: Int): Toast defined in org.jetbrains.anko

我也是 kotlin 的新手,我的很多搜索都没有结果,但我确信它真的很简单。

我在这里找到的解决方案 “接收器类型不匹配”与 Fragment 和 Anko toast 并没有帮助我。

我有这些依赖项

dependencies {

...
implementation "org.jetbrains.anko:anko-commons:$anko_version"
implementation "org.jetbrains.anko:anko-design:$anko_version" // For SnackBars
implementation 'org.jetbrains.anko:anko-appcompat-v7-commons:0.10.8'
implementation "org.jetbrains.anko:anko-support.v4-commons:$anko_version"

}

而这些进口

import org.jetbrains.anko.toast
import org.jetbrains.anko.support.v4.toast

我正在努力解决的问题归结为这一点

class MainActivity : AppCompatActivity() {
    toast("this toast works")
   
    class Player() {
       fun score() {
          if (x) {
              //do this
          } else {
              toast("this toast doesn't work")
          }
       }
    }
 }

它给了我上面看到的错误。

其他一切似乎都按我想要的方式工作。

我想我很难理解为什么我在 MainActivite.kt 顶部导入的东西不适用于我的 .kt 中的所有内容

标签: androidandroid-studiokotlinanko

解决方案


Anko 已弃用。请参阅此页面了解更多信息。

https://github.com/Kotlin/anko/blob/master/GOODBYE.md

我们觉得是时候和 Anko 说再见了。


推荐阅读