2016-03-04 2 views
0

Я хочу начать новую деятельность при изменении edittext (длина edittext = 6). Я использую свой код ниже, но не работал. Помоги мне, пожалуйста.Android EditText TextChanged

a = (EditText) findViewById(R.id.editText1); 
    a.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void afterTextChanged(Editable s) { 
      if(!s.equals("6")) 
        i = new Intent(getApplicationContext(), MainActivity.class); 
        startActivity(i); 
        finish();     
     } 

     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, 
       int after) { 
     } 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, 
       int count) { 

     } 
     }); 

ответ

2

Я боюсь, как вы проверили длину, просто замените код с этим в afterTextChanged

@Override 
     public void afterTextChanged(Editable s) { 
      if(a.getText().length()== 6) { 
       Intent i = new Intent(getApplicationContext(), MainActivity.class); 
       startActivity(i); 
       finish(); 
      } 
     } 
0

Попробуйте

a.addTextChangedListener(new TextWatcher() { 
      @Override 
      public void afterTextChanged(Editable s) { 

      } 

      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, 
        int after) { 
      } 

      @Override 
      public void onTextChanged(CharSequence s, int start, int before, 
        int count) { 
         if(count==6){ 
         i = new Intent(getApplicationContext(), MainActivity.class); 
         startActivity(i); 
         finish(); 
      } 
      } 
      }); 
0

Попробуйте этот кусок кода

a.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 s) { 

       if(s.length() == 6) 
       { 
        Intent in = new Intent(CurrentActivity.this,TargetActivity.class); 
        startActivity(in); 
       } 

      } 
     }); 

Let я знаю, если это сработает для вас! :)

0

обновление

if(!s.equals("6")) 

to 

if(s.length()==6) 
Смежные вопросы