2013-01-14 60 views
4

我在Android中編輯文本時遇到問題。安卓在EditText中檢查空格

我有一個字段中指定用戶名:

我想,只要有人用空間e.g「拉夫阿羅拉」寫了一個用戶名。然後它應該在登錄按鈕上按下敬酒或錯誤。

我這樣做了 - 我乾脆停止空格鍵的使用文本觀察者的幫助作用原樣

public static TextWatcher getNameTextWatcher(final TextView agrTextView) { 
     TextWatcher mTextWatcherName = new TextWatcher() { 
      public void onTextChanged(CharSequence arg0, int arg1, int arg2, 
        int arg3) { 
      } 

      public void beforeTextChanged(CharSequence arg0, int arg1, 
        int arg2, int arg3) { 
      } 

      public void afterTextChanged(Editable arg0) { 

       String result = agrTextView.getText().toString().replaceAll(" ", ""); 
       if (!agrTextView.getText().toString().equals(result)) { 
        agrTextView.setText(result); 
       } 

} 
} 

但是,這並沒有解決我的目的。我只是想實現每當人使用的用戶名與空間應該接受的空間,但在登錄按鈕的按下它應該提高舉杯

感謝

+0

你爲什麼不檢查按鈕上的文字是否有空格而不是點擊? – Royi

+0

是的,我想檢查登錄按鈕,如果edittext有任何空格。我該如何檢查? –

+0

if(string.indexOf(「」)!= -1)Toast(...) – Royi

回答

14

只需檢查你的編輯文本是否包含空格。

在按鈕的onClick()事件中使用以下代碼。

if (agrTextView.getText().toString().contains(" ")) { 
    agrTextView.setError("No Spaces Allowed"); 
    Toast.makeText(MyActivity.this, "No Spaces Allowed", 5000).show(); 
} 
8

試試這個..

 btnLogin.setOnClickListener(new OnClickListener() { 

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

只要做到這一點:

TextView.getText().toString().contains(" "); 
3
String question = txtNote.getText().toString(); 
if(question.trim().length() > 0){ 
    Log.i("LOG", "Has value"); 
}else{ 
    Log.i("LOG", "don't has value"); 
    } 
1

使用裝飾()方法來刪除所有空格,然後檢查空

if (!edtText.getText().toString().trim().isEmpty()) { 
    //the EditText is not Empty 
} 
+0

在發佈一個無關的答案之前仔細閱讀這個問題。此外,如果您沒有簽出有用的帖子的基本步驟,請參閱:[here](https://stackoverflow.com/tour) – AntJavaDev