Autore Topic: Button Multifunzione: Come realizzarlo?  (Letto 425 volte)

Offline socket32

  • Nuovo arrivato
  • *
  • Post: 2
  • Go Hard or Go Home!
  • Respect: 0
    • Mostra profilo
Button Multifunzione: Come realizzarlo?
« il: 20 Dicembre 2015, 11:05:13 CET »
0
Salve a tutti,
volevo porvi un problema che, da qualche giorno, non riesco a risolvere. Il problema, è apparentemente banale, ma proprio non riesco logicamente a risolverlo.
Sto programmando per un Wear, e il problema è il seguente:

Ho Un Button, l'user ci clicca sopra, quindi viene effettuato la prima funzione onClick, che nel mio caso ho chiamato Prossima Pagina. Questa funzione, non fa nien'altro che cambiare un testo, con "setText". Io Vorrei fare in modo, che quando premo il tasto una seconda volta, accade un'altra cosa, e  così via. Mi servono almeno 5 CLick a disposizione.

Ho pensato inizialmente di utilizzare un contatore, Ovvero, pongo I = 0, e ogni volta che il button viene premuto, si incrementa di Uno. Con un Case Switch poi, successivamente mi gestisco gli eventi. Ma Purtroppo, non funziona., o almeno logicamente, non so come impostarlo.

Ho poi provato successivamente con un cliclo FOR Impostato in questo modo:


Codice (Java): [Seleziona]
    public void ProssimaPagina (View v) {
        TextView testo = (TextView) findViewById(R.id.cambia);
         int i;

        for (i = 0; i < 6; i++) {

            if (i == 0) {

                testo.setText("TESTO 1");


            } else if (i == 1) {

                testo.setText("TESTO 2");

            }

        }

    }

Ma comunque non va, non so perchè ma l'app nel secondo caso, mi visualizza solamente TESTO 2.

Come posso risolvere?
Grazie anticipatamente a tutti.

« Ultima modifica: 20 Dicembre 2015, 11:19:52 CET da socket32 »
Give me a lever and a place to stand and I will move the earth

Offline iClaude

  • Utente normale
  • ***
  • Post: 242
  • Respect: +17
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S5
  • Sistema operativo:
    Windows 10
Re:Button Multifunzione: Come realizzarlo?
« Risposta #1 il: 28 Dicembre 2015, 14:12:26 CET »
0
Salve a tutti,
volevo porvi un problema che, da qualche giorno, non riesco a risolvere. Il problema, è apparentemente banale, ma proprio non riesco logicamente a risolverlo.
Sto programmando per un Wear, e il problema è il seguente:

Ho Un Button, l'user ci clicca sopra, quindi viene effettuato la prima funzione onClick, che nel mio caso ho chiamato Prossima Pagina. Questa funzione, non fa nien'altro che cambiare un testo, con "setText". Io Vorrei fare in modo, che quando premo il tasto una seconda volta, accade un'altra cosa, e  così via. Mi servono almeno 5 CLick a disposizione.

Ho pensato inizialmente di utilizzare un contatore, Ovvero, pongo I = 0, e ogni volta che il button viene premuto, si incrementa di Uno. Con un Case Switch poi, successivamente mi gestisco gli eventi. Ma Purtroppo, non funziona., o almeno logicamente, non so come impostarlo.

Ho poi provato successivamente con un cliclo FOR Impostato in questo modo:


Codice (Java): [Seleziona]
    public void ProssimaPagina (View v) {
        TextView testo = (TextView) findViewById(R.id.cambia);
         int i;

        for (i = 0; i < 6; i++) {

            if (i == 0) {

                testo.setText("TESTO 1");


            } else if (i == 1) {

                testo.setText("TESTO 2");

            }

        }

    }

Ma comunque non va, non so perchè ma l'app nel secondo caso, mi visualizza solamente TESTO 2.

Come posso risolvere?
Grazie anticipatamente a tutti.


Usare un contatore è la soluzione più semplice.  Forse non ti funziona perché banalmente hai definito la variabile nel posto sbagliato. Cmq se devi visualizzare del testo puoi precaricare un array di stringhe e sfruttare il contatore come indice, anziché usare lunghe istruzioni switch/if che non sono consigliabili.

Se puoi vuoi fare le cose in modo più sofisticato, ma non vorrei confonderti troppo le idee,  puoi anche utilizzare lo state pattern, di cui trovi un esempio che assomiglia al tuo caso su wikipedia: https://en.m.wikipedia.org/wiki/State_pattern

Offline socket32

  • Nuovo arrivato
  • *
  • Post: 2
  • Go Hard or Go Home!
  • Respect: 0
    • Mostra profilo
Re:Button Multifunzione: Come realizzarlo?
« Risposta #2 il: 30 Dicembre 2015, 16:06:44 CET »
0
Ciao e Grazie per la risposta, Ho Risolto in questo modo:

Codice (Java): [Seleziona]
public void nextGo (View V)    {

        TextView testo0 = (TextView) findViewById(R.id.mutevole);
        i++;
        switch(i) {

            case 1:

                testo0.setText("Bene, ora raddoppialo!");
                break;

            case 2:
                N = moltx.nextInt(50)+1;
                if (N % 2 == 0) {
                    testo0.setText("Perfetto! Ora Aggiungi " +N);
                } else {
                  N= N+1;
                    testo0.setText("Perfetto! Ora Aggiungi " +N);
                }
                break;

            case 3:
                testo0.setText("Ora, Dividi per 2!");
                break;

            case 4:
                testo0.setText("Grandioso! Ora Sottrai al totale il numero che hai pensato!");
                break;

            case 5:
                testo0.setText("Hai Ottenuto il numero " +N/2 );
            default:
        }


    }
Give me a lever and a place to stand and I will move the earth