清除輸入框裡的字元 如果是一排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的操作,是不是很簡單~~~