Hallo,
ich habe vor kurzem meine ersten kleinen Übungen bei Apps fertiggestellt und möchte nun eine App erstellen, die zu unserem Lateinbuch aus der Schule passt. D.h. ich habe eine Datenbank mit allen Wörtern und die Funktionen Suche, Wörter anschauen und Wörter abfragen. Nun stoße ich bei der Abfrage-Option auf ein Problem:
Ich hole mir erst per SQL die Daten zu den Vokabeln, das sieht je nach gewählter Seite so aus:
So, das ergibt ganz sicher mehrere Datensätze (die Abfragefunktion listet mir 15 Stück auf), die ich nun in einen Cursor lade, der dann per onClick() jeweils eine Zeile ausgeben soll, sodass man immer eine Vokabel der Seite auf dem Bildschirm sieht:
private void ladeWoerter() {
woerterCursor = mDatenbank.rawQuery(sqlWoerter, null);
woerterCursor.moveToFirst();
}
private void nextVok(View view) {
if(woerterCursor.moveToNext()) {
latein = woerterCursor.getString(woerterCursor.getColumnIndex("latein"));
deutsch = woerterCursor.getString(woerterCursor.getColumnIndex("deutsch"));
zusatz = woerterCursor.getString(woerterCursor.getColumnIndex("zusatz"));
eigen = woerterCursor.getString(woerterCursor.getColumnIndex("eigen"));
//einsetzen
lateine.setText(latein);
deutsche.setText(deutsch);
zusatze.setText(zusatz);
eigene.setText(eigen);
}
else {
//TODO
}
}
Alles anzeigen
(lateine, deutsche, zusatze und eigene stehen für TextView-Felder)
wenn ich nextVok() in der ladeWoerter()-Methode aufrufe, funktioniert es. Wenn aber in der Layout.xml ein Button als onClick-Attribut "nextVok" hat, stürzt die App ab. Der Debugger meint, dass es eine "IllegalStateException" gibt:
02-05 06:24:20.686: E/AndroidRuntime(11496): FATAL EXCEPTION: main
02-05 06:24:20.686: E/AndroidRuntime(11496): java.lang.IllegalStateException: Could not find a method nextVok(View) in the activity class de.lulebe.latein.FragenActivity for onClick handler on view class android.widget.Button with id 'button2'
Für mich bedeutet dieser Fehler, dass keine passende Methode gefunden wurde. Aber ich habe doch eine erstellt. Wo liegt der Fehler?