[英]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.