Android清空编辑框数据功能的实现

引言

在项目开发中你肯定会遇到这样的需求,输入到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("");
        }
    });
}

结束,接下来根据需求在需要的地方进行调用就好。

你可能感兴趣的:(Android技术)