Visualizzazione stampabile
-
problema stupido
salve, sono un nuovo utente e sto impazzendo su una cosa che credo sia stupidissima ma non riesco a farlo.
in pratica ho una EditText1, TextView1, TextView2 e un Button ... vorrei che al click se EditText1 = TextView1 il TextView2 diventa CORRETTO.
In pratica ho scritto così...dov'è l'errore?
...
final TextView prova1 = (TextView) findViewById (R.id.textView1);
final TextView prova2 = (TextView) findViewById (R.id.textView2);
final TextView prova3 = (TextView) findViewById (R.id.textView3);
prova1.setText("aaa");
prova2.setText("bbb");
prova3.setText("ccc");
final EditText testo = (EditText)findViewById (R.id.editText1);
testo.setText("aaa");
final String test1 = prova1.getText().toString();
final String test2 = testo.getText().toString();
Button pulsante = (Button) findViewById (R.id.button1);
pulsante.setText("Bottone");
pulsante.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if(test1 == test2){
prova2.setText("vero");
} else {
prova2.setText("falso");
}
...
mi da sempre falso...perchè????
grazie
-
Perché test1 e test2 sono lette quando inizializzi la gui, e il valore rimane quello. Usando una getText, se non sbaglio, non viene passato il riferimento alla stringa, ma viene copiata e passato il riferimento alla copia. Quindi devi spostare le due getText all'interno dell'evento, prima dell'if.
Inviato dal mio Nexus S usando Androidiani App
-
provato come mi hai detto...ma lo stesso non funziona...non capisco perchè non riesco.
Semplicemente vorrei fare:
parola1 = ciao
parola2 = ciao
if (parola1 = parola2){
ok
} else {
sbagliato
}
dove parola 2 la inserisce l'utente
-
Quote:
Originariamente inviato da
billyyy
provato come mi hai detto...ma lo stesso non funziona...non capisco perchè non riesco.
Semplicemente vorrei fare:
parola1 = ciao
parola2 = ciao
if (parola1 = parola2){
ok
} else {
sbagliato
}
dove parola 2 la inserisce l'utente
Oltre a quello che ho detto prima, dimenticavo che con le stringhe non puoi usare l'==, in java, devi usare il metodo equals(),
quindi qualcosa del tipo
if(parola1.equals(parola2)).
-
:D
yessssssssssssssss
grazie
era la funzione logica == sbagliata!!!
ora devo chiudere il post?
cosa devo fare?