Autore Topic: Applicazione Quiz (Progetto Universitario)  (Letto 465 volte)

Offline bertosky

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1
Applicazione Quiz (Progetto Universitario)
« il: 24 Luglio 2014, 21:00:25 CEST »
0
Salve a tutti, non so se è la sezione giusta... quindi mi scuso in anticipo.
Sto progettando un'applicazione Android, un quiz. L'applicazione legge le domande presenti nel documento xml solo che ho un problema. All'avvio della partita, quando premo il bottone START mi compare la prima domanda e i radio button per la scelta tra le diverse risposte; adesso ho aggiunto un bottone che mi permetta di passare alla domanda successiva ma non so come farlo proseguire. Devo pulire l'intent con la prima domanda e le relative risposte e scrivere la seconda domanda? In che modo? Ho provato ad aggiungere un intent quando premo il bottone, solo che mi compare sempre la prima domanda...non prosegue nel ciclo mostrandomi la seconda domanda. Come posso fare? ( Ps. Ho provato a fare il debug dell'applicazione, le domande vengono lette, solo che non riesco a farle comparire a video)
Spero di essere stato chiaro e vi ringrazio in anticipo per l'aiuto.  :-( :-( :-(

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Applicazione Quiz (Progetto Universitario)
« Risposta #1 il: 25 Luglio 2014, 08:29:19 CEST »
0
Sei stato abbastanza chiaro, pero' al contempo vago. Parli di intent, di pulirlo, di aggiungerlo ad un bottone, ... Metti un po' di codice che vediamo dov'e' il problema.
I numeri contano molto di più del seme.

Offline bertosky

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1
Re:Applicazione Quiz (Progetto Universitario)
« Risposta #2 il: 25 Luglio 2014, 10:42:07 CEST »
0
Codice (Java): [Seleziona]
class Quiz {
       
     
         ArrayList<Domanda> setDomande;     //variabile locale che contiene tutte le domande
         final String NODE_DOMANDA = "domanda";  
         final String NODE_RISPOSTE = "risposte";
         final String NODE_RISPOSTA = "risposta";
         final String NODE_TESTO = "testo";
         final String ATTR_ESATTA = "esatta";
         
         
        public Quiz(AssetManager manager, String domande) {
                setDomande = new ArrayList<Domanda>();
                XMLDOMParser parser = new XMLDOMParser();              
        InputStream stream;                      
        try {
            stream = manager.open(domande);
            Document doc = parser.getDocument(stream);
               
                    NodeList nodeListDomanda = doc.getElementsByTagName(NODE_DOMANDA);
       
                    for (int i = 0; i < nodeListDomanda.getLength(); i++) {

/* e_d = elemento della nodeListDomanda */
                        Element e_d = (Element) nodeListDomanda.item(i);
                        Domanda d = new Domanda();
                        d.setTesto(parser.getValue(e_d, NODE_TESTO));
 
 /* e_re = elemento della nodeListRisposte con attributo esatta */     
                        NodeList nodeListRisposte = e_d.getElementsByTagName(NODE_RISPOSTE);
                        Element e_re = (Element) nodeListRisposte.item(0);
                        d.setEsatta(Integer.parseInt(e_re.getAttribute(ATTR_ESATTA))); //conversione stringa->intero
                       

                       
                        NodeList nodeListRisposta = e_re.getElementsByTagName(NODE_RISPOSTA);
                        for (int j = 0; j < nodeListRisposta.getLength(); j++) {
 /* e_r = elemento della nodeListRisposta */
                                Element e_r = (Element) nodeListRisposta.item(j);
                                // d.setRisposta(j, parser.getValue(e_r, NODE_RISPOSTA));
                                String s = e_r.getFirstChild().getNodeValue();
                                d.setRisposta(j, s);
                        }
                        setDomande.add(d);
                       
                       
                    }
        }
        catch (IOException ex) {
                ex.printStackTrace();
        }
        }
       
        public Domanda getDomanda() {
                int i = 0;  // Numero casuale
                return setDomande.get(i);
        }

}

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Applicazione Quiz (Progetto Universitario)
« Risposta #3 il: 25 Luglio 2014, 14:11:39 CEST »
0
Hai un:

Codice (Java): [Seleziona]
ArrayList<Domanda> setDomande
Basta che lo scorri per avere nuove domande, perche' parlavi di Intent?
I numeri contano molto di più del seme.

Offline bertosky

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1
Re:Applicazione Quiz (Progetto Universitario)
« Risposta #4 il: 25 Luglio 2014, 15:25:27 CEST »
0
Infatti io lo scorro .... Ma quando richiamo il metodo onClick per far visualizzare la domanda, se lo ripremo mi compare sempre la stessa domanda...

Codice (Java): [Seleziona]
        public void onClick(View v) {
                AssetManager manager = getAssets();
                Quiz quiz = new Quiz(manager, FILE_DOMANDE);
                Log.i("chello", "Ho caricato il file domande");
               
                Domanda d = quiz.getDomanda();
                if (d!=null) {
                       
                       
                       
                               
                               
                        TextView testo = (TextView)findViewById(R.id.testo);
                        testo.setText(d.getTesto());
                       
                        TextView risposta1 = (TextView)findViewById(R.id.risposta1);
                        risposta1.setText(d.getRisposta(0));
                       
                        TextView risposta2 = (TextView)findViewById(R.id.risposta2);
                        risposta2.setText(d.getRisposta(1));
                       
                        TextView risposta3 = (TextView)findViewById(R.id.risposta3);
                        risposta3.setText(d.getRisposta(2));
                       
                        TextView risposta4 = (TextView)findViewById(R.id.risposta4);
                        risposta4.setText(d.getRisposta(3));
                       
                        }
               
        }

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Applicazione Quiz (Progetto Universitario)
« Risposta #5 il: 25 Luglio 2014, 16:40:03 CEST »
0
Scusami ma:

Codice (Java): [Seleziona]
quiz.getDomanda()
ritorna sempre la stessa domanda.
I numeri contano molto di più del seme.

Offline bertosky

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1
Re:Applicazione Quiz (Progetto Universitario)
« Risposta #6 il: 25 Luglio 2014, 16:56:16 CEST »
0
Domanda è una classe.
getDomanda è un metodo di Quiz.

Deve creare una nuova variabile d che è stata riempita da Quiz ed è fatta come Domanda

Offline eagledeveloper

  • Translate Team
  • Utente senior
  • ****
  • Post: 516
  • Respect: +37
    • Google+
    • 347516210
    • dark_pinz
    • @WandDStudios
    • Mostra profilo
    • W&D Studios
  • Dispositivo Android:
    HTC One X e HTC One
  • Play Store ID:
    W%26D+Studios
  • Sistema operativo:
    Ubuntu / Windows 7
Re:Applicazione Quiz (Progetto Universitario)
« Risposta #7 il: 28 Luglio 2014, 08:38:26 CEST »
0
Sì ok ma:

Codice (Java): [Seleziona]
public Domanda getDomanda() {
                int i = 0;  // Numero casuale
                return setDomande.get(i);
        }

quella i è sempre 0. Ritorna quindi sempre il primo elemento della tua lista...
I numeri contano molto di più del seme.