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%Ihre onCLick-Methode heißt in der Aktivität "calculcate". In der XML ist es "berechnen".
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.
Sie haben falsch berechnet. Falls dies nicht funktioniert, versuchen Sie View view statt View v.
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.
Tags und Links android android-layout onclick