android 監聽EditText輸入字符長度
項目當中的要求很多,最近遇到了一些要求,在Dialog上用戶輸入密碼,當密碼位數達到6位并且自動判斷密碼是否正確,如果正確Dialog自動消失,跳轉其他界面。 看似很艱難,其實只要你知道有這樣一個監聽就簡單多了。這個監聽就是addTextChangedListener(EditText s).
public class EditTextActivity extends Activity implements OnClickListener{
private EditText adb_password;
public boolean change = false;
private LinearLayout adb_lin2;
private Button button1;
private Button button2;@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.kvadb); adb_password = (EditText) findViewById(R.id.adb_password); adb_lin2 = (LinearLayout) findViewById(R.id.adb_lin2); button1 = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); button1.setOnClickListener(this); button2.setOnClickListener(this); adb_password.addTextChangedListener(mEditText); } TextWatcher mEditText = new TextWatcher() { private CharSequence temp; @Override public void onTextChanged(CharSequence s, int start, int before, int count) { temp = s; } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { adb_password.setVisibility(View.VISIBLE); adb_lin2.setVisibility(View.GONE); } @Override public void afterTextChanged(Editable s) { if(adb_password.getText().length() == 6){ if(adb_password.getText().toString().equals("111111")){ adb_password.setVisibility(View.GONE); adb_password.setFocusableInTouchMode(false); adb_password.setFocusable(false); adb_lin2.setVisibility(View.VISIBLE); adb_lin2.setFocusableInTouchMode(true); button1.requestFocus(); } } } }; @Override public void onClick(View v) { switch (v.getId()) { case R.id.button1: Toast.makeText(KvAdb.this, "llll", 0).show(); break; case R.id.button2: finish(); break; } } } </pre>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!