Java android中显示toast消息的问题

Java android中显示toast消息的问题,java,android,button,toast,Java,Android,Button,Toast,根据我在android中的要求,如果用户只按“空格”并单击“发布”按钮,则应该显示祝酒词。 我有下面的代码,但是祝酒词没有显示出来。 有人能告诉我为什么不显示吗 mEditText.addTextChangedListener(mTextEditorWatcher); Button button = (Button) findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener(

根据我在android中的要求,如果用户只按“空格”并单击“发布”按钮,则应该显示祝酒词。 我有下面的代码,但是祝酒词没有显示出来。 有人能告诉我为什么不显示吗

   mEditText.addTextChangedListener(mTextEditorWatcher);    
  Button button = (Button) findViewById(R.id.button1);

 button.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        // TODO Auto-generated method stub
        String result =mEditText.getText().toString();
         if(result.contains ("\\s"))
           Toast.makeText(getApplicationContext(), "Space ", Toast.LENGTH_LONG).show();
    }
});
}

我不认为你会得到最好的结果,试试这个:

if(result.equals(" "))
    Toast.makeText(getApplicationContext(), "Space ", Toast.LENGTH_LONG).show();

看起来您正在尝试将正则表达式与
String.contains
方法一起使用。
String.contains
方法与
String
一起使用。它不适用于
regex

有关更多详细信息,请参见此问题:

顺便说一下, 您不应该只检查一个空格。您应该处理任意数量的空格

if(result.length()!=0 && result.trim().equals(""))
    ShowToast();
试试这个

if(result.contains (" "))
           Toast.makeText(getApplicationContext(), "Space ", Toast.LENGTH_LONG).show();

你有两种解决办法

1.您应该通过“-->”if(result.contains(“\s”)检查此条件

例如:

if(result.contains(" "))
String result =ed.getText().toString();
       Pattern pattern = Pattern.compile("\\s");
   Matcher matcher = pattern.matcher(result);
   boolean found = matcher.find();
   if(found)
         Toast.makeText(getApplicationContext(), "Space ", Toast.LENGTH_LONG).show();
2.你应该检查一下图案

例如:

if(result.contains(" "))
String result =ed.getText().toString();
       Pattern pattern = Pattern.compile("\\s");
   Matcher matcher = pattern.matcher(result);
   boolean found = matcher.find();
   if(found)
         Toast.makeText(getApplicationContext(), "Space ", Toast.LENGTH_LONG).show();

请使用这些解决方案中的任何一种。它都会起作用。

我将if条件更改为space,并成功收到一条Toast消息

public class MainActivity extends Activity implements OnClickListener{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button button = (Button) findViewById(R.id.Button1);
    final EditText mEditText = (EditText) findViewById(R.id.EditText1);

    button.setOnClickListener(new View.OnClickListener() {

       public void onClick(View v) {
           // TODO Auto-generated method stub
           String result =mEditText.getText().toString();
           Log.e("Test Message", result);
           if(result.contains (" "))
             Toast.makeText(getApplicationContext(), "Space ", Toast.LENGTH_LONG).show();
       }
   });
}
请尝试让我知道,如果你仍然面临这个问题


谢谢

记录“结果”并在语句显示完整代码之前检查其中的内容此代码只处理一个空格。理想情况下,您应该处理任意数量的空白字符。这一步不错,但如果EditText为空,它仍将显示toast,据我所知,@DD希望在编辑文本中只输入空格时显示它。谢谢,它可以工作:)@VikramSingh,但是文本后面的空格不会被修剪。Vikram singh的答案的DD只适用于一个空格。但是,你将使用我的第二个解决方案,它将为每个空间显示toast。Vikram singh的解决方案将使用一个空间和多个空间。trim()将删除开头和结尾处的所有空格。我想如果这次进入“阿伦·库马尔”也会举杯。但是,现在只有我能理解完整的要求。对不起,维克拉姆·辛格