CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: bluemask con ben 5 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: bluemask con ben 4 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 28 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 5 su 5
Discussione:

Creare un if con EditText in Eclipse

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Dec 2011
    Messaggi
    41

    Ringraziamenti
    9
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Creare un if con EditText in Eclipse

    Buona sera, premetto che ho cominciato a programmare in Eclipse da ieri e sto creando una semplice app, solo che ho un piccolo problema.

    Se io vorrei dichiarare un IF che se nell'EditText c'è scritto "a" allora modifica la scritta in corretto, altrimenti modificala in sbagliato. Come posso fare? Io ho provato a fare così ma senza ottenere risultati:
    Codice PHP:
    public class puntotest1 extends Activity {
        
    /** Called when the activity is first created. */
        
    int contatore;
        
    TextView risultato;
        
    Button add,sub;
        
    Button invio;
        
    EditText testo;
        
        
        
        
        
        @
    Override
        
    public void onCreate(Bundle savedInstanceState) {
            
    super.onCreate(savedInstanceState);
            
    setContentView(R.layout.main);
            
    contatore 0;
         
            
    invio = (ButtonfindViewById (R.id.bInvio);
            
    testo = (EditTextfindViewById(R.id.text);

           
    risultato = (TextViewfindViewById (R.id.risultato);
      

          
    invio.setOnClickListener(new View.OnClickListener() {
                
                   public 
    void onClick(View v) {
                       
    // TODO Auto-generated method stub
                    
    if(testo  == "a") {
                       
    risultato.setText("corretto");
                       } else {
                           
    risultato.setText("Sbagliato");
                       }
                       
                   
               });

        }

    Grazie per le eventuali risposte.

  2.  
  3. #2
    Androidiano


    Registrato dal
    Dec 2011
    Messaggi
    70

    Ringraziamenti
    0
    Ringraziato 4 volte in 4 Posts
    Predefinito

    L'errore è che consideri testo come se fosse una stringa, invece è un oggetto di tipo EditText.
    Il contenuto di un EditText viene letto con il metodo getText, il quale restituisce un oggetto Editable dal quale ottenere la stringa con toString.

    Riassumendo:
    codice:
    if (testo.getText().toString() == "a") { ... }
    In alternativa puoi anche usare il metodo equals delle stringhe per il confronto.

  4. Il seguente Utente ha ringraziato zacky per il post:

    donpeo117 (29-04-12)

  5. #3
    Baby Droid


    Registrato dal
    Dec 2011
    Messaggi
    41

    Ringraziamenti
    9
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Grazie mille

  6. #4
    Baby Droid


    Registrato dal
    Dec 2011
    Messaggi
    41

    Ringraziamenti
    9
    Ringraziato 0 volte in 0 Posts
    Predefinito

    @zacky scusami ancora, come mai sempre con questo codice se apro l'app e scrivo "a" mi esce sempre sbagliato?

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;

    public class puntotest1 extends Activity {
    /** Called when the activity is first created. */
    int contatore;
    TextView display, corretto;
    Button add,sub;
    Button invio;
    EditText testo;





    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    contatore = 0;

    invio = (Button) findViewById (R.id.bInvio);
    testo = (EditText) findViewById(R.id.text);

    corretto = (TextView) findViewById (R.id.corretto);



    invio.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
    // TODO Auto-generated method stub
    if (testo.getText().toString() == "a") { corretto.setText("Giusto"); }


    else {
    corretto.setText("Sbagliato");
    }
    }
    });

    }
    }

  7. #5
    Baby Droid


    Registrato dal
    Jan 2012
    Messaggi
    22

    Ringraziamenti
    0
    Ringraziato 4 volte in 4 Posts
    Predefinito

    Per confrontare due stringhe in java utilizza la funzione equals oppure equalsIgnoreCase (che è case insensitive).

    codice:
    if (testo.getText().toString().equals("a")) { 
    corretto.setText("Giusto"); 
    } else {
    corretto.setText("Sbagliato");
    }

  8. Il seguente Utente ha ringraziato ceceppa per il post:

    donpeo117 (01-05-12)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy