关于PreferenceActivity中EditTextPreference的使用 最近用EditTextPreference,有几个地方搞不定了,高手帮帮忙吧:1、如何让EditTextPreference中输入密码时不显示真实内容,显示密码(比如省略号或者星号)2、如何判断EditTextPreference为空时保留上一次的内容不更改高分求救~最高100分啊,解决了我还加分~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.在EditextPreference控件属性中设置 android:password="true"2.把EditTextPreference每次保存的值用SharedPreferences 保存在xml中,每次判断是否为空,如果不为空则把他显示在EditTextPreference中。不知我说的名不明白啊,楼主! password="true"第二個不知道什麽意思 第二个就是 如果第一次输入admin,我第二次进入将内容清空后,点确定,我会自动保留上一次用户的信息,而不会保存空值 1楼的正确,1、补充一点,还可以在加一个属性,android:inputType="textPassword" 这样输入键盘也会变化2、其实就是SharedPreferences的运用,对用户信息的存储,还可以实现第一次登录成功后以后都不需要登录,就是对数据库的存储及读取操作,楼主可以去研究一下 你第二次清空了你的XML保存的内容了么? 没有代码,都是xml写的,SharedPreferencesActivity中有这么一个方法,@Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { // TODO Auto-generated method stub if(m_etpMinWordConfidence.getText().equals("")){ Toast.makeText(this, "can not be empty", 0).show(); } }当输入框清空后,我只能判断,但不能往里面保存数据。 先getPreferedrences()的editor()方法获得一个Editor对象它可以对xml文件手动操作,如果为空则将上次的值在写进来。 为什么不能保存呢?lz把你第一次存起来的数据取出来于现在EditTextPreference中数据比较下,如果改变了就存起来就OK了,能否把你整个SharedPreferencesActivity中代码贴出来,看看! 没有代码,都是xml写的,SharedPreferencesActivity中有这么一个方法,@Overridepublic void onSharedPreferenceChanged(SharedPreferences sharedPreferences,String key) {// TODO Auto-generated method stub if(m_etpMinWordConfidence.getText().equals("")){ Message message = new Message(); message.what = 1; handler.sendMessage(message);}public Handler handler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 1: m_etpMinWordConfidence.setText(""); //试试view.invalidateViews break; } super.handleMessage(msg); } }; 问题还没有解决,还有个问题,能不能设置EditTextPreference能不能设置输入数字的最小默认值,如果小于这个值,则提示,并设置为默认值 问题解决了~~自己看了下api,放出来给大家学习下:主要是setOnPreferenceChangeListener的用法;@Override public boolean onPreferenceChange(Preference preference, Object newValue) { if(preference.getKey().equals(KEY_DEFAULT_SIZE)){ if(不满足条件){return false;} } return true; }在这里返回值决定了是否修改内容成功。 你少说了一句android:selectable="true" 初学android的问题 请教如何像QQ一样关闭Activity后网络服务仍可继续运行 有人了解PDF文档原理吗, 为什么打开PDF文档都比较慢 想做个课程表,求指导…… 友盟移动开发者沙龙(北京站)---App之走向海外&落地本土 android LCD移植问题 求一个android游戏开发中UI的框架 adt卸载问题 ImageView.setImageBitmap() nullpointerException 关于安卓平板中打开APP后屏蔽HOME键,不让回桌面 数据库rawQuery(string)方法 JNI调用C++/C的DLL失败(求助)
2.把EditTextPreference每次保存的值用SharedPreferences 保存在xml中,每次判断是否为空,如果不为空则把他显示在EditTextPreference中。
不知我说的名不明白啊,楼主!
1、补充一点,还可以在加一个属性,android:inputType="textPassword" 这样输入键盘也会变化2、其实就是SharedPreferences的运用,对用户信息的存储,还可以实现第一次登录成功后以后都不需要登录,就是对数据库的存储及读取操作,楼主可以去研究一下
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
// TODO Auto-generated method stub
if(m_etpMinWordConfidence.getText().equals("")){
Toast.makeText(this, "can not be empty", 0).show();
}
}
当输入框清空后,我只能判断,但不能往里面保存数据。
它可以对xml文件手动操作,如果为空则将上次的值在写进来。
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
// TODO Auto-generated method stub
if(m_etpMinWordConfidence.getText().equals("")){
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
public Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
m_etpMinWordConfidence.setText("");
//试试view.invalidateViews
break;
}
super.handleMessage(msg);
}
};
主要是setOnPreferenceChangeListener的用法;
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if(preference.getKey().equals(KEY_DEFAULT_SIZE)){
if(不满足条件){return false;}
}
return true;
}在这里返回值决定了是否修改内容成功。