有時候常常會用到, 當輸入框裏有文字的時候, 點擊一下就能夠刪除, 就像下圖同樣. 有時候是點擊後面的圖(這裏圖不是很準確,)是要顯示隱藏的密碼java
這裏就有兩個東西要了解, 一個就是watch editText的內容變化, 而後就是這是editText中密碼文字可見.ide
首先, 監聽文字變化,ui
loginNameEditText = (EditText) findViewById(R.id.loginName); //註冊監聽器 loginNameEditText.addTextChangedListener(myTextWatcher); /** * 添加文本內容改變監聽器 */ private TextWatcher myTextWatcherU = new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub // toastMgr.builder.display(s, 0); if (s.length() != 0) { pet_login_user_clear = (Button) findViewById(R.id.pet_login_user_clear); pet_login_user_clear.setVisibility(View.VISIBLE); pet_login_user_clear .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub loginNameEditText.setText(""); } }); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } };
OK, 上面代碼是判斷出了editText中內容發生變化, 點擊刪除,設置editText中爲空的實現.code
下面是設置密碼可見:it
// 監聽 密碼 更改密碼是否可見 一樣是註冊這個watcher private TextWatcher myTextWatcher = new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub if (s.length() != 0) { pet_login_password_clear = (Button) findViewById(R.id.pet_login_password_clear); pet_login_password_clear.setVisibility(View.VISIBLE); pet_login_password_clear .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //OK 這裏就設置了密碼可見了 loginPasswordEditText .setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); //OK這裏這是密碼有不可見 loginPasswordEditText .setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); } }); } } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } };