public void click(View view) {
String one = "one";
EditText et = (EditText)findViewById(R.id.editText1);
String entered_text = et.getText().toString();
if(et.getText().toString() == one){
TextView tv1 = (TextView)findViewById(R.id.textView1);
tv1.setText("Correct!");
}
else {
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText(one+entered_text); }
}
Это фрагмент кода, извлеченный из моей программы, я не опубликовал всю программу, потому что это было необязательно, так как программа работает нормально, без каких-либо исключений во время выполнения.Нужна помощь в моей программе в eclipse.
Таким образом, программа, когда выполняется на Eclipse, не показывает каких-либо ошибок и работает нормально, но когда запустить, if
условие et.getText().toString() == "one"
всегда возвращает ложь, даже когда entered_text
является one
.; т.е. он никогда не печатает «правильно!» и код всегда печатает «один + введенный_текст», который является выражением в предложении else. И интересным моментом является то, что если вы введете one
, вывод будет oneone
, то есть инструкция else.
Пожалуйста, помогите мне, где я ошибся. Спасибо заранее.
Используйте 'если (myString.equals ("некоторые строки"))', а не ** == ** оператор , для сравнения строк. –
Большое спасибо. Не знаю, где мой разум. Eezy peezy –
Эй, можете ли вы мне помочь, как использовать строку в переключателе. Я использую java 6 на eclipse. Заранее спасибо. –