Android kann meine onClick-Methode nicht finden

8

Ich habe ein Problem, bei dem meine Schaltfläche (id i_am_a_problem ), die im Layout-XML des Fragments deklariert ist, einen Fehler erzeugt, wenn auf die Schaltfläche geklickt wird. Android versucht, die onClick-Methode public void calculate(View v) aufzurufen, kann sie jedoch nicht finden (obwohl sie in MainActivity deklariert wurde). Details meines Codes sind unten und der Fehler ist danach. Bitte helfen Sie mir festzustellen, warum Android die OnClick-Methode nicht finden kann. Danke.

Es gibt wirklich nichts anderes in diesem Code (frisches neues Projekt)

MainActivity.java

%Vor%

Das Layout von MainActivity enthält nur ein Fragment

%Vor%

Und das Layout für dieses Fragment ist:

%Vor%

Das Problem Button ist nur da ^^ mit id i_am_a_problem

LogCat:

%Vor%     
Zerp 18.06.2015, 15:59
quelle

7 Antworten

17

Sie haben die Methode falsch geschrieben. Das XML sucht nach berechnen , aber Ihre Methode ist calculcate

    
EE66 18.06.2015 16:03
quelle
3

Ihre onCLick-Methode heißt in der Aktivität "calculcate". In der XML ist es "berechnen".

    
user4989692 18.06.2015 16:06
quelle
2

Ich hatte den gleichen Fehler, aber meine onClick-Methode wurde von meiner Basisaktivitätsklasse überschrieben, und wenn ich sie mit der Editor-Hilfe überschreibe, wurde ihre Signatur geschützt und war daher das Problem.

Das Problem wurde gelöst, als ich es öffentlich machte.

    
Deepali Maniyar 10.04.2017 12:02
quelle
1

Schreiben Sie den Methodennamen richtig:

%Vor%     
Setu Basak 18.06.2015 16:05
quelle
1

Nur beide Schreibweisen sind anders ....

%Vor%

Ich habe gerade android: onClick="calculcate" Während Sie das Wort "calculcate" verwendet haben

%Vor%

Und du hast android:onClick="calculate"

benutzt     
Kush 21.06.2016 06:34
quelle
1

Sie haben falsch berechnet. Falls dies nicht funktioniert, versuchen Sie View view statt View v.

    
Carter Ray 01.07.2017 07:00
quelle
0

Tatsächlich, in AndroidManifest Datei, um den korrekten Namen zu bestätigen oder nicht. AndroidManifest zeigt die Farbzeile an, wenn sich der Name der XML-Datei und der Dateiname der Klasse nicht beziehen.

Als Basis für das Problem kann onClickListener Ihre Klassendateien wegen eines falschen Namens nicht finden. Fehler zeigt nur Onclick Fehler an. Dieses Problem könnte verwirren, dass Sie möglicherweise onClickListener falsch setzen, aber das tatsächliche Problem besteht darin, dass Sie in der XML-Datei und in der Aktivitätsklasse einen falschen Namen angegeben haben.

Manchmal wird in xml- und Aktivitätsdateien wegen des gleichen android-Namens kein Fehler angezeigt. In diesem Fall können Sie leicht überprüfen, was in der AndroidManifest-Datei falsch war.

    
Neon 11.10.2017 16:39
quelle

Tags und Links