Sposób nie jest jedyny, a ten przedstawiony niekoniecznie musi być właściwy.Trochę rekurencjii jakby drzewo binarne (zawsze 2 decyzje).Na początek stworzyłbym klasę Pytanie. Np.
public class Pytanie {
private String tresc;
private Pytanie wariant1;
private Pytanie wariant2;
public Pytanie(String tresc, Pytanie wariant1, Pytanie wariant2) {
this.tresc = tresc;
// ... itp.
}
// gettery itp.
// ...
}
Wygenerować można tak, umieścić w Activity:
static {
Pytanie pytanie1A = new Pytanie("Pytanie 1 A",null, null);
Pytanie pytanie1B = new Pytanie("Pytanie 1 B",null, null);
Pytanie pytanie1 = new Pytanie("Pytanie 1",pytanie1A, pytanie1B);
}
OnClick wtedy staje się prostszy:
private Pytanie aktualnePytanie; // zmienna globalna klasy Activity
public void onCreate(...) {
// ...
// wygenerowanie widokow dla pierwszego pytania
aktualnePytanie = pytanie1;
okienko.setText(pytanie.getTresc());
buttontak.setOnClickListener(this); // oczywiscie Activity musi implementowac View.OnClickListener
buttonnie.setOnClickListener(this);
// ...
}
private void onClick(View v) {
// pomijam nullchecki itp.
switch (v.getId) {
case R.id.buttontak:
aktualnePytanie = aktualnePytanie.getWariant1();
break;
case R.id.buttonnie:
aktualnePytanie = aktualnePytanie.getWariant2();
break;
}
okienko.setText(aktualnePytanie.getTresc());
}
Mam nadzieję, że ten sposób jest zrozumiały. Masz tekst, który się zmienia w zależności od pytania. 2 przyciski, które prowadzą do następnego pytania w zależności czy tak czy nie. Dzięki klasie Pytanie masz wszystkie te rzeczy. Treść pytania i "dowiązania" do dalszych pytań. Te dalsze pytania mają dowiązania do jeszcze dalszych itp...Pozostał jeszcze sposób ładnego wygenerowania tych pytań, np. czy z pliku, bazy czy na razie na sztywno w klasie. I na początku wygenerowujemy warianty końcowe, ponieważ wcześniejsze pytania ich wymagają.