Android 5 und OnClick im XML-Layout

8

Ich habe android:onclick in xml für ein imageButton gesetzt und diese Methode in meine Aktivität eingefügt. in android s unter 5 funktioniert es gut, aber in android 5 gibt es mir Fehler.

mein imageButton-Code:

%Vor%

mein Methodencode:

%Vor%

der Fehler:

%Vor%

indem ich den Fehler suche, kann ich sehen, dass er nach meiner Methode in android.view.ContextThemeWrapper klasse sucht, so dass es mit NoSuchMethodException endet.

Ich kann nicht herausfinden, wie das zu lösen, jede Hilfe?

1) Ich habe bereits tools:context=".PhotoViewerActivity" im Stamm meines Layouts hinzugefügt.

2) Die Aktivität erweitert ActionBarActivity mit appCompat theme.

    
mehdok 17.12.2014, 17:28
quelle

7 Antworten

17

Ich hatte ein sehr ähnliches Problem, es passiert nur auf Android Lollipop, während es auf den älteren Versionen gut funktioniert. Sieht wie ein Fehler oder undokumentiertes Feature in 5.0 aus.

Stellen Sie sicher, dass in der Layoutdatei, in der sich ImageButton befindet, no android:theme gesetzt ist, also nichts wie folgt:

%Vor%

Definieren Sie stattdessen Ihr Anwendungsthema in AndroidManifest.xml application element:

%Vor%     
Kirill K 05.02.2015 13:37
quelle
2

Ich kann nicht finden, was das wirkliche Problem ist, vielleicht etwas Unvereinbarkeit zwischen Eklipse und api 21 oder etwas anderes.

für den Moment habe ich nur eine onClickListener für diese Schaltfläche festgelegt.

    
mehdok 17.12.2014 18:30
quelle
2

endlich habe ich das Problem gefunden.

Alles, was ich brauche, ist, das XML-Layout einer Aktivität zuzuordnen. Dafür stellen Sie sicher, dass Sie im Design-Tab des XML-Layouts die richtige Aktivität ausgewählt haben.

    
mehdok 07.01.2015 12:57
quelle
1

Dies passiert, wenn Sie die Methode public void onClick(View view) im Fragment anstelle der Aktivität

deklariert haben     
penduDev 12.08.2015 20:35
quelle
0

Stelle sicher, dass deine onClick-Methode

ist %Vor%

wird außerhalb der Methode onCreate() und in Ihrer Aktivitätsklasse geschrieben.

    
dhuma1981 23.01.2015 06:35
quelle
0

Ich habe das mit einem "menuItem" gemacht und hatte folgendes:

%Vor%

Was für Menüeinträge falsch ist. Dann müssen Sie das haben:

%Vor%

Es wurde der gleiche Fehler ausgegeben wie vom OP erwähnt.

Hoffe, das hilft jemandem ...

    
coderama 22.04.2017 09:06
quelle
-1

Es ist nur Google Play Services Problem und nichts mit Ihrer Codierung oder Einstellungen zu tun bla bla ...

Aktualisieren Sie einfach Ihre Google Play-Dienste des Telefons und fügen Sie Abhängigkeiten in build.gradle-Datei wie:

hinzu

compile 'com.google.android.gms: play-services: 7.5.0'

    
UMAR 14.09.2015 17:56
quelle