做android项目遇到设置密码的事情,对密码的长度跟内容有一点一点限制。。
找了半天的资料也没有找到关于EditTextPreference 对输入内容的校验问。。
看了半天api找到个方法。写下来记录下。。
public class PassWord extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pass_word);
EditTextPreference mEditTextPreference = (EditTextPreference) findPreference("pass");
mEditTextPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object obj) {
if (obj.toString().length() < 4) {
Toast.makeText(PassWord.this, "修改失败,密码长度不能小于4位", Toast.LENGTH_LONG).show();
return false;
} else {
return true;
}
}
});
}
}
通过setOnPreferenceChangeListener就可以对输入的内容进行校验了。
还有个问题。EditTextPreference 会消失。还没有解决。。