Ich versuche, eine App für Android zu erstellen, und folge diesem Tutorial Ссылка
Es gibt einen Teil
%Vor% Dann folgte ich diesem Tutorial und alles funktionierte, bis ich den Parameter View view
meine Frage ist nur, warum jedes Mal, wenn ich es entferne, so ist die Funktion einfach:
%Vor%und ich starte die App, erzwungenes Schließen.
Könnte mich jemand aufklären? Danke
Wenn Sie sich die XML-Datei genau ansehen, sehen Sie auf der Schaltfläche das folgende Attribut:
%Vor%Dieses Attribut bedeutet, dass beim Klicken auf die Schaltfläche die Nachricht
angezeigt wird %Vor% wird aufgerufen. Dies liegt daran, dass die Methode onClick
in der Schnittstelle OnClickListener
einen Parameter vom Typ View
erfordert. Wenn Sie den Parameter entfernen, versucht Android weiterhin, die Methode sendMessage(View view)
aufzurufen, aber diese Methode existiert nicht mehr, daher erhalten Sie eine Zwangsschließung.
Parameter view
ist die aktuelle Ansicht (Schaltfläche in Ihrem Fall), auf die geklickt wurde. Damit können Sie mehrere Schaltflächen zuweisen, um dieselbe Methode aufzurufen, und innerhalb der Methode prüfen, welche Schaltfläche angeklickt wurde.
Wenn Sie die Methode ohne die Parameter haben möchten, sollten Sie sie im Code anstelle des XML zuweisen. Ändern Sie Ihr XML zu
%Vor% (Beachten Sie, dass android:onClick
Attribut jetzt entfernt wird und android:id
hinzugefügt wird.) Dann würden Sie in Ihrer Aktivität in onCreate
method die folgende Zeile hinzufügen:
Wie Sie sehen können, ist dies ein bisschen mehr Code zum Schreiben, aber es bietet Ihnen mehr Flexibilität, wenn Sie es brauchen.
Wenn Sie diese Art von Sache in Ihr xml einfügen:
%Vor%Das Android-Framework fügt einen OnClickListener auf Ihrer Schaltfläche hinzu. Dieser "automatisch" generierte OnclickListener wird versuchen, eine Methode namens "sendMessage" mit einem einzigen Argument vom Typ View aufzurufen.
Wenn diese Methode nicht existiert, stürzt sie einfach ab.
Tags und Links android