引言
在項目開發中你肯定會遇到這樣的需求,輸入到EditText中的數據一個一個清理太麻煩了,需要有一個按鈕直接能實現一次刪除整個EditText控件中的數據,那么接下來我就給大家封裝一個方法,有這樣的需求直接調用就好了。話不多說,直接上代碼:
/** *清空編輯框按鈕 * @param editText 需要清空的EditText控件 * @param delImageView 清空數據的圖片 */ protected void clearEditText(final EditText editText, final ImageView delImageView) { /文本框編輯的監聽/ editText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub } @Override public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { // TODO Auto-generated method stub } @Override public void afterTextChanged(Editable arg0) { // TODO Auto-generated method stub if(editText.getText().length()!=0){ delImageView.setVisibility(View.VISIBLE); } else { delImageView.setVisibility(View.INVISIBLE); } } }); /**焦點變化監聽**/ editText.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View arg0, boolean arg1) { // TODO Auto-generated method stub if(editText.getText().length()!=0){ //刪除圖標顯示 delImageView.setVisibility(View.VISIBLE); } else { //刪除圖標隱藏 delImageView.setVisibility(View.INVISIBLE); } if(arg1){ //得到焦點 } else { //失去焦點,刪除圖標隱藏 delImageView.setVisibility(View.INVISIBLE); } } }); //刪除圖標的點擊監聽事件 delImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // 執行清空EditText數據 editText.setText(""); } });}結束,接下來根據需求在需要的地方進行調用就好。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答