Quiz-App, 1 Frage 4 Antwortmöglichkeiten, aber nur 1 Antwort wird Schriftlich angezeigt

  • Antworten:5
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 3

17.08.2014, 10:38:12 via Website

Guten Tag,
Ich bin neu hier im Forum aber hoffe jemand kann mit behilflich sein.

Ich versuche grade eine App mithilfe des Buches "Jetzt lern ich Android" zu erstellen.

Ein Beispiel ist in dem Buch die Quiz-App.

Diese läßt sich ohne Probleme ausführen, allerdings werden von 4 Antwortmöglicheiten nur 1 Schriftlich dargestellt.
Alle 4 Buttons funnktionieren auch, da ich weiß welcher Button die richtige Antwort enthält, kommt auch die nächste Frage.

Meine Frage ist nun wie kann ich es ändern das ich alle 4 Antwortmöglichkeiten auf meinem Handy sehe, Ich teste die App immer direkt über mein Handy. Ich nutzt ein HTC One X + mit Android Version 4.2.2.

    fragen[0] =
            new Frage("Wie heißt der kleine Berater Pinocchios?",
                "Jimmy, die Grille","Jim Jarmusch","Jiminiy, Grille","Jimmy, die Zikade", 3);

So stehen die Fragen sowie die Antwortmöglichkeiten in Ecplise.

Angezeigt wird - wen man die App ausführt - nur die Letzte Antwort. Bei der Frage wäre es also "Jimmy, die Zikade".
Alle anderen werden nicht dargestellt.

Hoffe auf kleine Hilfestellungen, bin grad erst dabei sowas zu lernen.

Falls noch mehr Infos benötigt werden, stelle ich diese gerne Bereit.

Mfg Tobi

Antworten
  • Forum-Beiträge: 11.154

17.08.2014, 10:45:32 via App

Könntest du noch einen Screenshot und den code für die Fragenanzeige posten?

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
  • Forum-Beiträge: 3

17.08.2014, 12:14:16 via Website

User uploaded photo

  public void anzeigen(Activity quizActivity) {

    ((TextView) quizActivity.findViewById(id.frage)).setText(frage);
    ((Button) quizActivity.findViewById(id.antwort1)).setText(option1);
    ((Button) quizActivity.findViewById(id.antwort2)).setText(option2);
    ((Button) quizActivity.findViewById(id.antwort3)).setText(option3);
    ((Button) quizActivity.findViewById(id.antwort4)).setText(option4);

}

Ich nehme an bzw hoffe die Stelle ist dem Code "Frageanzeige" gemeint,

Mfg Tobi

Antworten
  • Forum-Beiträge: 424

17.08.2014, 15:43:27 via Website

Moar Code !!! (laughing)

Ist die Methode anzeigen() eine Methode der Klasse Frage. Wo und wie sind frage, option1, option2,... gespeichert, wie werden denen Werte zugewiesen ?

Die ids der Button stimmen sicher ? Was ist, wenn du statt option2 mal "test" einträgst ? Wird das dann angezeigt ?

Antworten
  • Forum-Beiträge: 3

17.08.2014, 16:27:14 via Website

Das ist der Code für die Klasse Fragen.

class Frage {
private String frage;
private String option1;
private String option2;
private String option3;
private String option4;
private int loesung;

public Frage(String f,
            String o1, String o2, String o3, String o4,
            int l) {
    frage = f;
    option1 = o1;
    option1 = o2;
    option1 = o3;
    option1 = o4;
    loesung = l;
}

public void anzeigen(Activity quizActivity) {

    ((TextView) quizActivity.findViewById(id.frage)).setText(frage);
    ((Button) quizActivity.findViewById(id.antwort1)).setText(option1);
    ((Button) quizActivity.findViewById(id.antwort2)).setText(option2);
    ((Button) quizActivity.findViewById(id.antwort3)).setText(option3);
    ((Button) quizActivity.findViewById(id.antwort4)).setText(option4);

}
public boolean richtig(int ausgewaehlt) {
    if (ausgewaehlt == this.loesung)
        return true;
    else
        return false;
}

}

Ich danke für die Hilfe, warum auch immer ich das erst jetzt sehe, aber danke.
Wieder und Wieder hab ich den Code durchgelesen, aber nun ist mir der Fehler nachdem ich das hier posten möchte aufgefallen.

    frage = f;
    option1 = o1;
    option1 = o2;
    option1 = o3;
    option1 = o4;
    loesung = l

das war der Fehler -.- . Anfängerfehler, das nächste mal werd ich besser auf so kleines Details achten.

Mfg Tobi

Antworten
  • Forum-Beiträge: 424

17.08.2014, 17:05:19 via App

Fehler machen gehört dazu ^^

Schön dass du ihn selber gefunden hast.

Antworten