接受edittext中的值,即使它有空格

时间:2013-03-05 18:31:18

标签: android

我的应用程序中有此代码。它接受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中放置一个空格然后继续“bag”它仍然提示错误,例如

“”=空间

“”包-----错了 包-----正确

我如何用空间设置它可以接受

1 个答案:

答案 0 :(得分: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();

但在某些情况下,使用第二个变量对于可读性或功能可能更好

修改 要在空间之间进行处理,您可以尝试

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

不确定为什么不起作用,但您可以使用replace的{​​{1}}功能

Strings