2016-05-05 5 views
-6

я есть TextView, который устанавливается с помощью ...если еще условие в Java, Android

// Declare view variables 
private TextView mInfoText; 

// Assign views from layout file to cor. vars 
mInfoText = (TextView) findViewById(R.id.infoText); 

как я сделать, если еще заявление для текста внутри него, я думал, что делать это, как это, но это не работает, я получаю красную строку под словом «Песок».

if (mInfoText = "Sand"){ 

       //Show correct 

      } else { 

       //Show incorrect 
      } 

Любые идеи?

+1

'mInfoText' является' View'. Вид отображается на экране. Таким образом, вы не можете сравнивать «Просмотр» и «Строка». Вы должны получить содержание представления. Используйте 'mInfoText.getText()', который вернет 'String' – GRiMe2D

+0

Подсказка:' TextUtils.equals' –

ответ

-1

= - оператор присваивания. Используйте оператор ==, чтобы выполнить сравнение экземпляра.

Вы должны использовать метод equals(), чтобы проверить, совпадают ли содержимое двух строк.

+0

не ожидает ответа от вас, поскольку у вас есть такая репутация. Пожалуйста, внимательно ознакомьтесь с вопросом, а затем отправьте ответ. Автор пытается сравнить строку с экземпляром TextView. – Amy

0

Вам нужно будет сделать это. Как String Objects следует сравнить с использованием метода String#equals.

if (mInfoText!=null && mInfoText.getText().toString().equals("Sand")){ 

     //Show correct 

} else { 

    //Show incorrect 
} 
+0

смотрите ближе. 'mInfoText' не является' String' – njzk2

+0

Вам нужно будет getText и toString на первый взгляд –

+0

Мой плохой. Спасибо, что указали, что – Sanjeev

1

Вы можете сделать это:

if (mInfoText.getText().equals("Sand")){ 
.... 
} 
2

Вы желаете, чтобы сравнить значение TextView в строку. TextView не является строкой, а не точным. Его объект со свойствами. Вам нужно позвонить getText(), чтобы вернуть строку.

Кроме того, вам необходимо использовать ==, что является проверкой равенства. Это вернет true или false в инструкции. Если вы используете один =, это всегда будет правдой. Один знак равенства используется для присвоения

if (mInfoText.getText() == "Sand") 
0

Вы neded получить содержимое текстового поля с помощью mInfoText.getText() , а затем сравнить его usgin equals

if(mInfoText != null && mInfoText.getText().equals("Sand")){ 
    //Show correct 
}else{ 
    //Show incorrect 
}