我有一个EditText,它在调用edittext.getText().toString()
时返回一个空字符串。我想为这个结果设置一个默认值,而不是返回一个空字符串,我不希望在EditText中显示该值。有可能这样做吗?如果是,那我该怎么做?
答案 0 :(得分:2)
是否可以这样做?
不,抱歉,EditText
不提供该功能。
答案 1 :(得分:2)
虽然EditText
不能为您做什么,但您可以随时扩展EditText
并添加此行为:
public class MyOwnEditText extends EditText { ... }
覆盖getText()
以返回默认值,如果默认实现返回空String
:
@Override
public Editable getText() {
Editable text = super.getText();
if (!TextUtils.isEmpty(text)) {
return text;
}
return new SpannableStringBuilder("default-text");
}
答案 2 :(得分:1)
处理此问题的一个好方法是使用ternary operator
String emailString = this.email.getText().toString();
return TextUtils.isEmpty(emailString) ? "your default string" : emailString;