Hallo Community! ... und ja ich habe gegoogelt :) ... reichlich ... Ich möchte im Android Studio lediglich durch Click auf einen Button eine neue Aktivität öffnen. In allen schriftlichen Tutorials und YT Videos kommt der Vorschlag 'setOnClickListener' automatisch, nachdem 'buttonXY.' getippt wurde. Bei mir leider nicht. Ergo erhalte ich Fehlermeldungen: "Expecting member declaration" - Nachdem ich erst versucht hatte das Problem in meinem aktuellen Projekt zu fixen, habe ich ein komplett neue Projekt aufgemacht und step by step Tutorials nachgearbeitet. Funktionierte nicht. 'Fehler' blieb - OK dachte ich mir: Vielleicht ist bei der Installation vom Android Studio was schief gelaufen (irgendwelche Verweise, Pfade, weissderGeier). Also Android Studio neu installiert und mit einem frischen Projekt wieder angefangen. Das Verhalten bleibt leider das Gleiche. Hat Jemand eine Idee warum bei mir - nach dem tippen des Punktes - nicht der Vorschlag erscheint?
Du verstehst, warum du Methoden wie z.B. setOnClickListener verwenden kannst? Die sind immer irgendwo definiert. Schau dir den Typ (Klassen/Interfaces) an, die das Objekt hat, auf dem du die aufrufen willst und eventuell deren API Dokumentation. Hat eine davon die Methode? Wenn nicht, dann geht es deshalb nicht, dann ist es halt nicht da. Dafür kann es viele Gründe geben. Vielleicht gab es die Funktion in einer älteren Version des Packages mal, wurde aber entfernt oder durch eine andere Ersetzt. Oder vielleicht hast du als typ irgendwo eine parent Klasse oder ein Interface als Typ angegeben, die das Objekt zwar hat und von der Typisierung her kompatibel ist, aber die Methode nicht hat, und deshalb weiss der Compiler einfach nicht, dass das ginge. Es kann natürlich auch sein, dass das Tutorial falsch ist, also etwas darin fehlt, anders gemacht oder weggelassen wurde. So eins wird wohl kaum in einer Session und ohne Nachbearbeitung gemacht. So oder so, am ende läuft es daraus hinaus, dass du mehr im Detail verstehen musst, was du da gerade machst, was warum passieren sollte, und warum das nicht geht. Dann kannst du dir überlegen, wie du das Problem lösen könntest, was du anders machen, korrigieren oder hinzufügen könntest. Nicht damit es wieder so aussieht wie im Tutorial, sondern so, das es das Tut was du willst / was es soll. PS: Die Autovervollständigung ist normalerweise ein Feature der IDE. Diese kann auch manchmal falsch oder unvollständig sein.
AndroidStudio ist gelegentlich interessant. Wie sieht denn der Ansatz aus? So in etwa?
1 | // Hier einfach mal den Button oder was auch immer suchen
|
2 | val dieserButton = view.findViewById<Button>(R.id.dieserButtonSeinName) |
3 | // Dann dem Button eine Funktion verpassen
|
4 | dieserButton.setOnClickListener { |
5 | // Dieser Kram wird dann bei Klick ausgeführt.
|
6 | // Bspw. eine neue Aktivität öffnen
|
7 | }
|
Edit:
1 | import android.view.View |
2 | import android.view.ViewGroup |
3 | import android.widget.Button |
... und so. Normalerweise schlägt die IDE den Import direkt vor, wenn was fehlt.
:
Bearbeitet durch User
@ DPA: Vielen Dank für deine Antwort und ja: Knowledgetechnisch habe ich noch viel Nachholbedarf. Bin sozusagen ein richtiges Greenhorn. >>So oder so, am ende läuft es daraus hinaus, dass du mehr im Detail >>verstehen musst, was du da gerade machst, I'm trying hard but I'm totally lost~~ Dachte es kann ja nicht so schwer sein einen zweiten Dialog zu öffnen. Im Grunde ist es ja nicht viel mehr als ein "Hallo Welt" @Lukas T.: Ja! Genau so sind die Beispiele... Leider schlägt die IDE mir eben keinen adäquaten Lösungsansatz vor. Ich werde wohl dem Rat von DPA folgen und mir erstmal weitere Basics aneignen bevor so anspruchsvolle Dinge an der Reihe sind, wie einen weiteren Dialog zu öffnen lol Danke euch ! --
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.