2017-01-30 16 views
7

Mam następujący błąd, gdy dzwonię tosty ("Toast za wiadomość tekstowa") z Android Fragment:Anko tost() metoda powoduje java.lang.NoSuchMethodError po nazwie od Fragment

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)

I m używając Anko v0.9.1 i Kotlin 1.0.6

Co może być przyczyną tej awarii? Standardowy Android Toast działa dobrze. Również funkcja toast() działa wewnątrz działań.

+0

wykorzystanie tego Toast.makeText (getActivity() , "wiadomość", Toast.LENGTH_SHORT) .show(); – IMRAN

+1

Stwierdziłem w moich pytaniach, że standardowy Android Toast działa bez problemów. Ale chciałbym wiedzieć, dlaczego metoda rozszerzenia "toast()" Anko nie działa w tym przypadku. –

+0

jaka jest twoja implementacja metody toast() – IMRAN

Odpowiedz

4

To bardzo dziwne, prawdopodobnie jest to błąd.

ale następnym pracuje dla mnie

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

lub

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

samo tutaj. Ta linia została upaść dla mnie wewnątrz Fragment:

startActivity<UserProfileActivity>() 

I rozwiązać go po prostu za pomocą tego jednego

activity.startActivity<UserProfileActivity>() 

Kotlin 1.1.4 Anko 0.9.1a

Powiązane problemy