清除输入框里的字符 如果是一排EditText,添加一个清除按钮很容易,但是如果一堆呢,addTextChangedListener则太烦了,毕竟里面有三个方法需要处理,所以就有了一次关于清除按钮的封装。
import android.content.Context;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
public class DelImgView extends ImageView
{
public DelImgView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
public DelImgView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public DelImgView(Context context)
{
super(context);
}
public void setOperEditText(final EditText et)
{
et.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count)
{
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after)
{
}
@Override
public void afterTextChanged(Editable s)
{
if (TextUtils.isEmpty(s))
{
setVisibility(View.GONE);
}
else
{
setVisibility(VISIBLE);
}
}
});
setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
et.setText("");
}
});
}
}
复制代码
公开了一个setOperEditText(EditText)方法出来,当要使用的时候,则直接imageview.setOperEditText(EditText)来进行清空EditText的操作,是不是很简单~~~