2014-04-05 2 views
0

Я использую Eclipse для запуска следующего кода.Если оператор не запускается при сравнении двух строк Android Eclipse

Я пытаюсь сравнить то, что я вхожу в TextView, в , что у меня есть в моем массиве строк. Я даже дошел до того, что установил текст TextViews и значение массива строк, которое сравниваю с тем же, что и до выполнения оператора if. Я чувствую себя как будто Мне не хватает чего-то простого здесь, поэтому, возможно, кто-то может указать меня в правильном направлении. Вот некоторые примеры кода:

public class StartActivity extends Activity { 

String[] keyWord = {"cow", "hour", "trial", "active", "purpose", "cat", "route", "laser", "fresh", "success" }; 

Random randWord = new Random(); 
int secretWord = randWord.nextInt(10); 

Это где я сравниваю значения

public void SubmitClick(View v){ 
    TextView TV = (TextView)findViewById(R.id.txtAnswer); 
    keyWord[secretWord] = "the"; 
    TV.setText("the"); 
    if(keyWord[secretWord] == TV.getText().toString()){ 

    Toast.makeText(getApplicationContext(), "Correct guess!", 
       Toast.LENGTH_LONG).show(); 
    } 
} 

Когда я выбираю кнопку отправки на устройстве код не работает. Я попробовал добавить еще что-то там, что я не хочу, и всегда возвращается как не равный, поэтому я понятия не имею, что мне здесь не хватает.

Благодаря

+0

Пожалуйста, ищите SO. http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java – pmac89

ответ

0

Вы должны сравнивать строки с equals() методом, а не с ==.

+0

Если вы предоставляете ответ, помните, что рядом с решением есть объяснение проблемы. Почему использование 'equals' является правильным подходом, а' == '- нет? – Pshemo

+0

Полагаю, пользователь 3064123 сам поймет, проверив ссылки, которые уже были предоставлены. Я просто давал быстрый ответ. – joao2fast4u

+1

Спасибо! это было точно. Я позволил C# получить лучшее из меня;) – Charles

Смежные вопросы