EditTextPreference会将编辑对话框中的信息通过setText()方法直接保存在SharedPreferences文件中。当需要对输入的文本进行加密后保存到SharedPreferences文件中,并且对话框中能继续以明文显示时,可自定义EditTextPreference类并继承它,然后重载EditTextPreference的setText()、getText()以及onSetInitialValue()初始值设置方法,重载方式如下:
@Override
public void setText(String text) {
Sting value = encrypt(text ); //对输入文本先加密
super.setText(value);
}
@Override
public String getText() {
String value = super.getText();
return decrypt(value); //对SharedPreferences中取得的值进行解密后返回
}
@Override
protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
super.setText(restoreValue ? getPersistedString(super.getText()) : (String) defaultValue);
}
原文:http://blog.csdn.net/vipycm/article/details/44354341