繁体   English   中英

在Android中显示Toast消息时出现问题

[英]Issue in displaying toast message in android

根据我在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

有关更多详细信息,请参见此问题: 如何在Java中的String.contains()方法中使用正则表达式

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

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(" "))

2.你应该检查模式

例:

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();
       }
   });
}

如果您仍然遇到问题,请尝试让我知道...

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM