2012-03-18 3 views
0

안녕하세요. 일괄 적으로 리스너를 제어하는 ​​방법을 이해하는 데 몇 가지 문제가 있습니다. 스택 오버플로에서 몇 가지 작업을 할 수 있었지만 EditText가 나를 괴롭혔습니다.Android 여러 EditText가 리스너를 구현할 수 없습니다.

3 개의 editText가 있습니다. 코드를 idenpentatly 입력하면 모두 잘 작동하지만 스위치 케이스가있는 한 가지 방법으로 모든 코드를 래핑하려고합니다. 순간

한 글고 내 코드는 보이는 같은 (지저분한 두 개 더 그 비트)와 나는 setOnKeyListener, setOnClickListern, addtextchangedlistenr를 사용하여 시도했지만 내가 중 하나를 얻을 수

intTextValue = (EditText)findViewById(R.id.intervalValue); 
     intTextValue.addTextChangedListener(new TextWatcher() { 

      @Override 
      public void afterTextChanged(Editable s) { 
       // TODO Auto-generated method stub 
Double.parseDouble(intTextValue.getText().toString()); 

       if (textViewTouchIsHuman == true) { 
        intSeekValue = Double.parseDouble(intTextValue.getText().toString()); 
        calculateWorkings(); 
       } 
       textViewTouchIsHuman = true;  
      } 

      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, 
        int after) { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onTextChanged(CharSequence s, int start, int before, 
        int count) { 
       // TODO Auto-generated method stub 

      } 

      }); 

그들에게 일하도록? 나는 그 질문이 senese를 바란다는 것을 희망한다. 감사합니다 adv.

답변

2

할당 메소드 addTextChangedListener() 외부에서 TextWatcher를 만든 다음 해당 TextWatcher를 여러 EditText 객체에 할당하는 것이 좋습니다. 예를 들어

:

TextWatcher tw = new TextWatcher(); 
intTextValue.addTextChangedListener(tw); 
otherEditText.addTextChangedListener(tw); 
... 
+1

안녕하세요, 저는 필요한 것을 생겼 덕분에, 지금 비록이 문제가 변경되고있는 글고 치기를 찾기 위해 코드를 전환하는 방법은? – Purplemonkey

+0

그래, 나는 그렇게 쉬운 방법을 보지 못했다. 포커스가있는 항목을 확인하고 각 문자열 값을 저장 한 다음 onTextChange에서 변경되었는지 확인하고 사용할 EditText 또는 다른 방법으로 저장하십시오. 그런 다음 올바른 EditText를 전달하고 switch 문을 사용하는 메소드를 호출하십시오. – AJcodez

+0

내 단어, 그래서 지식이 부족한뿐만 아니라 다른 사람 (Seekbar, Spinner, RadioGroup 등)이 쉽게 할 수있는 방법이 없습니다. 나는 당신의 제안을 위로 코딩하는 것을 볼 것이다, 당신의 시간 동안의 감사 : – Purplemonkey

관련 문제