2013-03-05 4 views
0

У меня этот код в моем приложении. которая принимает значение EditTextПринимающая ценность в edittext, даже если она имеет пробелы

 if (ans.equalsIgnoreCase("bag")) { 

       btnEnter.setEnabled(false); 
      int a=Integer.parseInt(textView2.getText().toString()); 
      int b=a+10; 
      String s1 = String.valueOf(b); 
      textView2.setText(s1); 
      Toast.makeText(getApplicationContext(), "Correct",Toast.LENGTH_SHORT).show(); 

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

«» = пространства

"" мешок ----- неправильно мешок ----- правильно

как я могу установить, что с пространством он может принимать

ответ

2
 String ans2 = ans.trim(); 
     if (ans2.equalsIgnoreCase("bag")) { 

     btnEnter.setEnabled(false); 
     int a=Integer.parseInt(textView2.getText().toString()); 
     int b=a+10; 
     String s1 = String.valueOf(b); 
     textView2.setText(s1); 
     Toast.makeText(getApplicationContext(), "Correct",Toast.LENGTH_SHORT).show(); 

trim() function

Возвращает копию строки, с начальными и конечными пробелами опущен.

Поскольку @ ρяσѕρєя K удалил свой ответ, прежде чем я вернусь, чтобы удалить мою, я добавлю его упрощенное редактирование. Изменение

if (ans2.equalsIgnoreCase("bag")) { 

в

if (ans.trim().equalsIgnoreCase("bag")) { 

тогда нет необходимости в

String ans2 = ans.trim(); 

Но используя вторую переменную может быть лучше для readibility или функциональности в определенных ситуациях

Редактировать Заботиться из между пространствами вы можете попробовать

if (!ans.contains("") && ans.trim().equalsIgnoreCase("bag")) { 

Не уверен, почему это не работает, но вы можете использовать функцию replace для Strings

 String ans2 = ans.replace(" ", ""); 
     if (ans2.trim().equalsIgnoreCase("bag")) { 
+0

Почему вы повторить тот же ответ. –

+0

@ ρяσѕρєя Ответ K уже очень четко объясняет все. –

+0

@TGMCians Я не хотел. Когда я отвечал, я был посреди публикации. Я отвлекся и не увидел другого ответа. Не пытаться украсть любую славу – codeMagic

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