簡體   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