首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >android studios中的Anko toast -未解决的引用。以下候选者均不适用

android studios中的Anko toast -未解决的引用。以下候选者均不适用
EN

Stack Overflow用户
提问于 2021-01-10 07:00:49
回答 2查看 348关注 0票数 0

我在显示吐司信息时遇到问题。当我尝试调用它时,我得到了以下错误

代码语言:javascript
运行
复制
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的新手,我搜索了很多次也没有找到任何东西,但我确信它确实很简单。

我在这里找到的修复'receiver type mismatch' with Fragment and Anko toast对我没有帮助。

我有这些依赖

代码语言:javascript
运行
复制
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"

}

和这些进口

代码语言:javascript
运行
复制
import org.jetbrains.anko.toast
import org.jetbrains.anko.support.v4.toast

我正在努力解决的问题可以归结为

代码语言:javascript
运行
复制
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中适用于所有的东西

EN

回答 2

Stack Overflow用户

发布于 2021-07-30 13:22:37

不推荐使用Anko。有关更多信息,请参阅此页面。

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

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

票数 1
EN

Stack Overflow用户

发布于 2021-01-10 07:13:11

像这样使用它:

代码语言:javascript
运行
复制
val toast = Toast.makeText(applicationContext, text, duration)
toast.show()

并且键入this@MainActivity而不是applicationContext。另一种方法是将上下文保存为全局变量,然后使用context.toast("Hello World");访问它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65648480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档