2014-05-20 2 views
0

edittext 및 textview를 사용한 활동을하고 있습니다. edittext에서 정수 값을 가져 와서 textview에 설정해야합니다.EditText가 전달할 값 가져 오기 Textview

edittext에서 10 자리 숫자 (모바일 번호)를 가져야하고 edittext 열이 10 자리가되면 바로 동일한 활동 내에서 10 자리 숫자가 자동으로 10 자릿수로 설정됩니다.

내가 문자열 STR에서

Integer.parseInt(edittext.getText().toString()); 

를 사용 글고 치기에 값을 얻기 이러한 방식

  1. 에 구현했습니다.

  2. 적용 조건 (str.length == 10) 및 textview를 사용 중입니다.

위의 프로세스가 작동하지 않으므로 친구를 도와주세요. 이 코드 작업입니다

:

public class MobileNo extends Activity { 

     EditText et; 
     TextView tv; 
     int i; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      // TODO Auto-generated method stub 
      super.onCreate(savedInstanceState); 

      et = (EditText) findViewById(R.id.edit); 
      tv = (TextView) findViewById(R.id.text1); 

      et.getText().toString(); 

      et.addTextChangedListener(new TextWatcher() { 

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

       } 

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

       } 

       @Override 
       public void afterTextChanged(Editable textVal) { 
        // TODO Auto-generated method stub 
        Editable inputNo = textVal; 
        if (inputNo.length() == 10) { 
         tv.setText(inputNo); 
        } 

       } 
      }); 

     } 
    } 
+0

왜 작동하지 않습니까? 당신이 직면 한 문제는 무엇입니까? –

+0

나는 edittext에서 아무 것도 클릭하지 않고 textview로 10 자리 이동 전화 번호를 얻어야합니다. edittext가 10 자리 숫자를 취하자마자 자동으로 그 10 자리수를 textview에 설정합니다. – Ashutosh

답변

0

나는 시도 할 것이다 : 당신의 전화 번호가 같은 포맷하면

  @Override 
      public void afterTextChanged(Editable textVal) { 
       String inputNo = textVal.toString(); 
       if (inputNo.length() == 10) { 
        tv.setText(inputNo); 
       } 

      } 

"(800) 549-2992"또는 "800-549-을 2992 "이고 숫자 만 원하면 다음을 수행해야합니다.

  @Override 
      public void afterTextChanged(Editable textVal) { 
       // takes out all non-digits from string 
       String inputNo = textVal.toString().replaceAll("[^\\d]",""); 
       if (inputNo.length() == 10) { 
        tv.setText(inputNo); 
       } 

      } 
+0

위의 코드는 여전히 작동하지 않습니다. – Ashutosh

+0

무엇이 오류 메시지입니까? 또는 행동? –

+0

대신 코드를'onTextChanged'에 넣으십시오. –