- Forum-Beiträge: 2
19.02.2019, 07:48:33 via Website
19.02.2019 07:48:33 via Website
Hallo,
zwar hab ich etliche Jahre Programmierung hinter mir, das aber in Ansi-C, Assembler, auch einiges in Delphi. Aber von haus aus hatte ich sowas nie in der Ausbildung.
Jetzt aber muß ich mich in App und Java reinfummeln. Da hatte ich nun ein Problem. Ich habe in eine aus dem Internet zusammengestoppelte App einen neuen Button gebastelt und wollte mit der "onClickListener"-Methode auf den Click reagieren. Was ich dazu brauchte, hab ich mir größtenteils aus der App von anderen Buttons zusammenkopiert. Es klappte aber nicht, nur Fehlermeldungen beim Compilieren. Nach drei Tagen fand ich den Fehler: ein ");", was nach der letzten geschweiften Klammer am Ende fehlte.btnProbier.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
bla bla bla
}
});
Sowas kenn ich nun gar nicht.
Wenn ich das richtig kapiere, ist onClickListener eine Methode der Klasse Button und in dem Fall der Instanz "btnProbier". Oder ist das falsch? Dann wird die Methode und in der ersten Zeile aufgerufen und in den Parametern durch "new" eine weitere Methode "onClick" instanziert. Erst die macht dann was mit dem Event des Klickens.
Ist das so richtig verstanden?
Wieso aber wird dann die Methode in den Aufruf zur Instanz, also in die normalen Klammern geschrieben?
Nächste Frage - Wenn ich einen Button im Android-Studio per Maus in die App reinziehe, kann ich rechts auf die Attribute und events zugreifen. Nun hab ich in einem schlauen Buch gelesen, dass ich eine Methode schreiben und diese dort unter "onClick" hinterlegen kann. So ähnlich lief das ja auch in Delphi. Bei dieser App bietet er mit aber nur eine (in dem Fall leere) Methode aus einer Datei "DeviceListActivity.java" an. Muß man solche Methoden also immer in diese Device-Datei schreiben, gehören die nicht in die normale Activity?
— geändert am 19.02.2019, 10:25:39 durch Moderator
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.