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

时间:2017-01-30 09:12:53

标签: android kotlin toast android-toast anko

当我从Android片段调用toast(“Toast的消息文本”)时,我遇到了以下错误:

  

java.lang.NoSuchMethodError:没有虚方法getActivity()Landroid / app / Activity;在课堂上Landroid / support / v4 / app / Fragment;或其超类('android.support.v4.app.Fragment'的声明出现在name-of-file-classes.dex中)

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

这次崩溃的原因可能是什么?标准Android Toast工作得很好。 toast()函数也可以在Activities中运行。

1 个答案:

答案 0 :(得分:0)

如果你想在一个类(例如一个适配器)中使用它,你肯定必须先获取活动(上下文)

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