2012-08-12 92 views
1

我想讓我的onTextChanged類在用戶輸入「空格」時讀取,以便我可以清除EditText視圖。問題是空格鍵被按下時什麼也沒有發生。有人知道我做錯了什麼嗎?我的程序不會崩潰,它什麼都不做。按下按鈕時清除edittext

public void onTextChanged(CharSequence s, int start, int before, 
        int count) { 
       SS.setText(s); 
       if (s.equals("r")) { 
        SS.setText(s); 
        et.setText(" "); 
       } 
      } 

       @Override 
       public void beforeTextChanged(CharSequence s, int start, int count, 
         int after) { 
        et.setTextColor(Color.parseColor("#000000")); 

       } 

       @Override 
       public void afterTextChanged(final Editable s) { 
        // cancel the previous search if any 

        // toasted(); 
        if (delayedAction != null) { 
         handler.removeCallbacks(delayedAction); 
        } 
        // toasted(); 

        // define a new search 
        delayedAction = new Runnable() { 

         @Override 
         public void run() { 
          // start your search 
          // toasted(); 

          // if (s.toString().equals(current)) { 
          // // toasted(); <== Here is where it needs to work 
          // // Toast.LENGTH_LONG).show(); 
          // } 

          et.setTextColor(Color.parseColor("#C0C0C0")); 
          toasted(); 
          tv.setText(et.getText().toString()); 
          tv.setTextColor(Color.parseColor("#66CC66")); 
          et.setText(""); 
         } 

        }; 
+0

試試這個:'et.setText(「」); //沒有空間。我不確定,但我認爲你正在製造一個無限循環。 – iTurki 2012-08-12 02:50:07

+0

「SS」的價值是什麼? – iTurki 2012-08-12 02:56:04

+0

我做了一個新的textview來打印出s的值。並且textview的名字是SS – 2012-08-12 02:58:48

回答

1

應該s.equals(" ")而不是s.equals(' ')

+0

我嘗試過,得到了同樣的結果,但不幸的是它改變回來。 – 2012-08-12 02:30:06

+0

它爲我工作。可能會記錄下來,看看會有什麼「s」出現,多於一個空間? – kosa 2012-08-12 02:42:14

+0

從我測試過的東西,沒有價值。我確信s是用戶的輸入。我將發佈完整的代碼段 – 2012-08-12 02:50:26

0

,您可以嘗試。

Pattern pattern = Pattern.compile("\\s"); 
Matcher matcher = pattern.matcher(s); 
boolean found = matcher.find(); 
+0

這是幹什麼的? – 2012-08-12 14:09:19