Bonjour,
Je débute en Android et j'ai pour projet de créer un quiz lambda pour me familiariser avec le langage.
J'aimerai faire une boucle pour l'arrivée des questions mais à chaque fois que je mets une boucle et que je teste l'application seul un écran blanc m'apparait. Je crois comprendre qu'avant d'afficher quoi que ce soit Android va jusqu'au bout de la méthode onCreate() et que étant donné que la condition de sortie de ma boucle est l'appui sur un bouton qui n'est même pas affiché, l'application boucle à l'infini.
Cela fait quelques heures que je recherche en vain des réponses sur ce problème.
Quelqu'un aurait une petite idée pour régler ce problème ? Merci infiniment à ceux qui prendront le temps de me répondre. Bonne soirée. (Ci joint le code ma classe JAVA)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 package com.helmi.realquiz; import android.app.Activity; import android.os.Bundle; import android.os.SystemClock; import android.view.MotionEvent; import android.view.View; import android.widget.*; import java.util.Random; public class MainActivity extends Activity implements View.OnTouchListener{ int a=0; String reponse=""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //int nbvies=5,choixdesc; ((TextView) findViewById(R.id.question)).setText("Quel Pokémon évolue en Tarpaud ?"); ((Button) findViewById(R.id.rep1)).setText("Ptitard"); ((Button) findViewById(R.id.rep2)).setText("Tetarte"); ((Button) findViewById(R.id.rep3)).setText("Tartard"); ((Button) findViewById(R.id.rep4)).setText("Tiplouf"); ((Button) findViewById(R.id.rep1)).setOnTouchListener(this); ((Button) findViewById(R.id.rep2)).setOnTouchListener(this); ((Button) findViewById(R.id.rep3)).setOnTouchListener(this); ((Button) findViewById(R.id.rep4)).setOnTouchListener(this); reponse="Tetarte"; while (a==0) { try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } } setContentView(R.layout.activity_main); } @Override public boolean onTouch(View v, MotionEvent event) { TextView text = new TextView(this); a=v.getId(); String b = (String) ((Button) findViewById(a)).getText(); if (reponse.equalsIgnoreCase(b)) { text.setText("Trouvé"); setContentView(text); } else { text.setText("Loupé"); setContentView(text); } return true; } }
Partager