2015-10-13 2 views
-3

Что не так с кодом:Android editText.getText()

String maintext = (String) main_text.getText().toString(); 

if(maintext =="10") {   
    ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_ALARM, 100); 
    toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200); 
} 

код работает без, если заявление, но с использованием если и .getText().toString() не работает вообще.

+1

для равенства строк вы должны использовать '.equals()' вместо '==', поэтому измените 'maintext == '10' 'на' maintext.equals («10») ' –

+0

. Также вам не нужно конвертировать maintext в String, потому что getText() всегда возвращает строковое значение – Madhu

+0

http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java –

ответ

1

== проверяет ссылки на объекты, .equals() проверяет значения строк.

использование equals

if(maintext.equals("10")) 

Наконец

if(maintext.equals("10")) 
    { 

     ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_ALARM, 100); 
     toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200); 


    } 

How do I compare strings in Java?

0

Вы неправильно сравнения двух строк (maintext =="10"), измените его на "10".equals(maintext)