[英]Android EditText preference validation
我使用Edittextpreference作为设置部分中的首选项之一。 我想在用户向其输入数据并单击确定时验证此edittextpreference; 在将其保存在共享首选项之前。
我试图做这样的事情,但这首先保存了我的偏好。
editTextPreference
.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference,
Object newValue) {
if (((newValue.toString().length() == 15) {
// save preference only if length is equal to 15
}
})
});
有人可以指导我如何验证edittextpreference之前保存在sharedpreference中,以便我可以决定是否要保存它。
根据这里的文件
当用户更改了首选项时调用。 这将在Preference的状态即将更新之前和状态持久之前调用。
它返回True以使用新值更新Preference的状态。
所以你可以做到以下几点
editTextPreference
.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference,
Object newValue) {
if (((newValue.toString().length() == 15) {
//
return true;
}
else{
// invalid you can show invalid message
return false;
}
})
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.