Anko toast() 方法在从 Fragment 调用时导致 java.lang.NoSuchMethodError

Anko toast() method causes java.lang.NoSuchMethodError when called from Fragment

当我从 Android 片段调用 toast("Toast's message text") 时出现以下错误:

java.lang.NoSuchMethodError: No virtual method getActivity()Landroid/app/Activity; in class Landroid/support/v4/app/Fragment; or its super classes (declaration of 'android.support.v4.app.Fragment' appears in name-of-the-file-classes.dex)

我正在使用 Anko v0.9.1 和 Kotlin 1.0.6

这次崩溃的原因可能是什么?标准 Android Toast 工作正常。 toast() 函数也适用于 Activity。

很奇怪,估计是bug

但下一个适合我

activity.toast("Toast's message text")

context.toast("Toast's message text")

如果你想在 class(例如适配器)中使用它,你肯定必须首先获得 activity(上下文)

holder.itemView.setOnClickListener(
                { view ->
                    view.getContext().toast("Message")
                }
        )