2012-07-13 2 views
0

All- EditText A에 적어도 하나의 문자가있을 때까지 EditText B, C를 숨기려고합니다. 나는EditText A에 문자가있는 경우 EditText B

EditText editText = (EditText) findViewById(R.id.p1); //A 
    final EditText editText$ = (EditText) findViewById(R.id.p1$); //B 
    final TextView $ = (TextView) findViewById(R.id.$); //C 

    editText$.setVisibility(View.INVISIBLE); 
    $.setVisibility(View.INVISIBLE); 


    editText.addTextChangedListener(new TextWatcher(){ 

     public void afterTextChanged(Editable arg0) { 
     } 
     public void beforeTextChanged(CharSequence s, int start, 
       int count, int after) { 
      } 
     public void onTextChanged(CharSequence s, int start, 
       int before, int count) { 

      if (s.toString() != "") {     
       editText$.setVisibility(View.VISIBLE); 
       $.setVisibility(View.VISIBLE); 
      } 
      else { 
       editText$.setVisibility(View.INVISIBLE); 
       $.setVisibility(View.INVISIBLE);    
      } 
     } 
    }); 

... textwatcher를 사용하여 시도했지만 글고 B (그리고 C)는 항상 표시 또는 날씨에 따라 여부 나는 TextWatcher 전에 editText$.setVisibility(View.INVISIBLE); $.setVisibility(View.INVISIBLE);를 선언 결코 볼 수 중 하나입니다. 누군가 내가 뭘 잘못하고 있다고 말할 수 있습니까? 시간 내 주셔서 감사합니다! 이와 같이, 자바 연산자 대신 문자열을 비교하는 equals 메소드를 사용하여

답변

1

시도는 :

if (s.toString().equals("") == false) { 

당신이 가지고있는 또 다른 옵션은 ""에 길이 대신 어떤지를 테스트하는 것입니다.

if (s.toString().length() > 0) { 
+0

Sweet! 그거였다. 시간과 노력에 감사드립니다. – ninge

+1

알다시피, 그의 대답과 upvote를 받아들이는 것은 정말로 그를 위해 감사 할 수있는 좋은 방법입니다 .his help ... – Barak