2017-01-30 2 views
7

я имею следующую ошибку, когда я звоню тост («текст Тост в сообщение») из Android Фрагмент:Анко тост() метод вызывает java.lang.NoSuchMethodError при вызове из фрагмента

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() работает внутри Activities.

+0

использовать этот Toast.makeText (getActivity() , "сообщение", Toast.LENGTH_SHORT) .show(); – IMRAN

+1

В моих вопросах я заявил, что стандартный Android Toast работает без проблем. Но я хотел бы знать, почему метод расширения «toast()» Anko в этом случае не работает. –

+0

Какова ваша реализация метода toast() – IMRAN

ответ

4

Очень странно, возможно, это ошибка.

Но следующие работы для меня

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

или

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

То же самое здесь. Эта линия была врезаться для меня внутри Fragment:

startActivity<UserProfileActivity>() 

И я решил его просто используя этот один

activity.startActivity<UserProfileActivity>() 

Котлин 1.1.4, АНКО 0.9.1a

Смежные вопросы