根据我在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();
}
});
}
答案 0 :(得分:0)
我不认为包含给你最好的结果,试试这个:
if(result.equals(" "))
Toast.makeText(getApplicationContext(), "Space ", Toast.LENGTH_LONG).show();
答案 1 :(得分:0)
看起来您正在尝试使用String.contains
方法使用正则表达式。
String.contains
方法适用于String
。它不适用于regex
。
有关详细信息,请参阅此问题: How to use regex in String.contains() method in Java
顺便说一下, 你不应该只检查一个空格。你应该处理任意数量的空格。if(result.length()!=0 && result.trim().equals(""))
ShowToast();
答案 2 :(得分:0)
试试这个..
if(result.contains (" "))
Toast.makeText(getApplicationContext(), "Space ", Toast.LENGTH_LONG).show();
答案 3 :(得分:0)
你有两种解决方案
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();
请使用任何这些解决方案。它会起作用。
答案 4 :(得分:0)
我将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();
}
});
}
如果您仍然面临这个问题,请尝试告诉我......
由于