2012-08-12 4 views
1

내 EditText보기를 지울 수 있도록 사용자가 "공백"을 입력하면 읽을 onTextChanged 클래스를 원합니다. 문제는 스페이스 바를 눌렀을 때 아무런 변화가 없다는 것입니다. 아무도 내가 뭘 잘못하고 있는지 알아? 내 프로그램은 단지 아무 것도하지 않는다.버튼을 눌렀을 때 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

+0

'SS'의 값은 무엇입니까? – iTurki

+0

s의 값을 출력하기 위해 새로운 textview를 만들었습니다. 텍스트 뷰의 이름은 SS –

답변

1

s.equals(" ") 대신 s.equals(' ')

+0

필자는 그것을 시험해 보았다. 같은 결과지만, 아프다. –

+0

그것은 나를 위해 일했습니다. 로그가되고 "s"가 하나 이상의 공간으로 나오는지 볼 수 있습니까? – kosa

+0

테스트 한 결과 값이 없습니다. 나는 s가 사용자 입력이라고 확신했다. 나는 코드 –

0

당신은 그것을 시도 할 수 있어야한다.

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

의 전체 세그먼트를 게시 할 것입니다. –

관련 문제