怎么简单怎么来,本来是自定义EditText嵌入到项目里发现效果不理想,自定义EditText在XML中设置无背景无效.........
private void clearEditText(final EditText editText, final ImageView delImageView) {
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
}
@Override
public void afterTextChanged(Editable arg0) {
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) {
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) {
SharedPreferences.Editor editor = mContext.getSharedPreferences("settings", Context.MODE_PRIVATE).edit();
editText.setText("");
if (editText.getId() == R.id.et_settings_user_information_user_name) {
editor.putString("UserName", null);
gMyApplication.UserName = null;
} else if (editText.getId() == R.id.et_settings_user_information_user_password) {
editor.putString("Password", null);
gMyApplication.Password = null;
}
editor.apply();
editor.commit();
}
});
}
本文介绍了一种自定义EditText的方法,并详细展示了如何通过监听文本变化来显示或隐藏删除图标,同时处理了焦点变化的情况。
1786

被折叠的 条评论
为什么被折叠?



