Autore Topic: Come far iniziare una partita? (Gestioni eventi botton)  (Letto 386 volte)

Offline koica

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
Come far iniziare una partita? (Gestioni eventi botton)
« il: 30 Agosto 2014, 11:28:17 CEST »
0
Buongiorno, spero di essere nella sezione giusta,avrei bisogno di un aiuto. Sto sviluppando un'applicazione android,più precisamente un quiz.Vorrei fare in modo che cliccando su un Button inizi la partita, e cioè che compaia una nuova intent con textview e radioButton in cui è già stata caricata la domanda. In pratica allo stesso bottone vorrei associare l'evento di creare una nuova intent con i radio button e la textview e l'onClick ossia l'evento che carica la domanda e le risposte. Come posso fare? Se al bottone associo solo l'evento che carica la domanda ovviamente non ha dove caricare la domanda e quindi non mi compare, se associo solo la creazione del nuovo intent mi si apre l'intent vuoto. Come risolvo questo problema? Come posso far partire il gioco?
Spero di essere stata chiara e vi ringrazio in anticipo per l'aiuto.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1186
  • Respect: +57
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Come far iniziare una partita? (Gestioni eventi botton)
« Risposta #1 il: 30 Agosto 2014, 13:39:26 CEST »
0
Invece di fare x activity fai un activity con un fragmebt.
Mettiamo caso che hai 20 domande. Ogni domanda ha 4 scelte.

Il tuo fragment ha un layout con 4 radio e un bottone.

Il bottone fa si che venga caricato il fragment a posizione (attualeposizione+1)


Offline koica

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
Re:Come far iniziare una partita? (Gestioni eventi botton)
« Risposta #2 il: 30 Agosto 2014, 14:01:58 CEST »
0
In realtà io ho messo in questa nuova activity che si apre la textview e i 4 radiobutton e poi un nuovo tasto a cui ho associato l'onclick che fa il caricamento delle domande in questo modo funziona, ma non dovrebbe funzionare così perché quel tasto dovrebbe essere il mio conferma e dovrebbe servire per le domande successive.Dovrei fare in modo che l'intent dovrebbe comparire gia' con la prima domanda, in questo modo col tasto conferma passa alle successive.Non so se sono stata abbastanza chiara.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1186
  • Respect: +57
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Come far iniziare una partita? (Gestioni eventi botton)
« Risposta #3 il: 30 Agosto 2014, 14:03:25 CEST »
0
Io non ho capito niente

Offline koica

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
Re:Come far iniziare una partita? (Gestioni eventi botton)
« Risposta #4 il: 30 Agosto 2014, 14:10:28 CEST »
0
Allora..ho un bottone(bottone1)a cui è associato un evento: tale evento mi crea un'intent con text view,radiobutton e un bottone(bottone2).Inizialmente questa textview e i radiobutton sono vuoti; se clicco su bottone2 si caricano la domanda e le risposte.Io voglio che il caricamento avvenga già quando clicco sul bottone1. Spero di essere stata più chiara.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1186
  • Respect: +57
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Come far iniziare una partita? (Gestioni eventi botton)
« Risposta #5 il: 30 Agosto 2014, 14:38:23 CEST »
0
MI sembra banale. Quello che hai dentro il button2 lo metti fuori. E se vuoi eseguirlo al click del bottone 1 lo metti dentro il listener del bottone uno

Offline koica

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
Re:Come far iniziare una partita? (Gestioni eventi botton)
« Risposta #6 il: 30 Agosto 2014, 17:52:51 CEST »
0
Ho provato ma si arresta l'applicazione.
Questo è l'onClick associato al primo bottone
Codice (Java): [Seleziona]
public void partita (View view) {
                /* Definisco l'intenzione di aprire l'Activity "DisplayPartita" */
                Intent intent = new Intent(this, DisplayPartita.class);
                /* Passo all'attivazione dell'activity DisplayPartita.java */
                startActivity(intent);
               
 }

e questo quello al secondo bottone
Codice (Java): [Seleziona]
public void onClick (View v) {
       
        AssetManager manager = getAssets();
        Quiz quiz = new Quiz(manager, 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));
               
                                       
                }
}
Inoltre,scusa se ne approfitto, volevo chiederti come posso fare per far si che la partita duri tot secondi?
Grazie mille

Offline tonno16

  • Utente storico
  • *****
  • Post: 1186
  • Respect: +57
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Come far iniziare una partita? (Gestioni eventi botton)
« Risposta #7 il: 30 Agosto 2014, 17:56:58 CEST »
0
per esprimere una durata puoi vedere quando il giocatore preme avvia. Registri la data e orari ocorrente.

Crei una data_fine che è curDate()+6000    ( le date sono gestite da un long che epsrimi i millisecondi).
Avvi in thread che verifica se dataX>dataY. Se si partita finita.

Oppure un CountDownTimer

Offline koica

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
Re:Come far iniziare una partita? (Gestioni eventi botton)
« Risposta #8 il: 01 Settembre 2014, 11:38:08 CEST »
0
Ok..grazie,adesso provo con il countDown Timer, ma dove dovrei instanziarlo?
Per il problema dei 2 eventi e dell'unico bottone mi sapresti aiutare?