最近用EditTextPreference,有几个地方搞不定了,高手帮帮忙吧:1、如何让EditTextPreference中输入密码时不显示真实内容,显示密码(比如省略号或者星号)2、如何判断EditTextPreference为空时保留上一次的内容不更改高分求救~
最高100分啊,解决了我还加分~

解决方案 »

  1.   

    1.在EditextPreference控件属性中设置 android:password="true"
    2.把EditTextPreference每次保存的值用SharedPreferences 保存在xml中,每次判断是否为空,如果不为空则把他显示在EditTextPreference中。
    不知我说的名不明白啊,楼主!
      

  2.   

    password="true"第二個不知道什麽意思
      

  3.   

    第二个就是 如果第一次输入admin,我第二次进入将内容清空后,点确定,我会自动保留上一次用户的信息,而不会保存空值
      

  4.   

    1楼的正确,
    1、补充一点,还可以在加一个属性,android:inputType="textPassword" 这样输入键盘也会变化2、其实就是SharedPreferences的运用,对用户信息的存储,还可以实现第一次登录成功后以后都不需要登录,就是对数据库的存储及读取操作,楼主可以去研究一下 
      

  5.   

    你第二次清空了你的XML保存的内容了么?
      

  6.   

    没有代码,都是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();
    }
    }
    当输入框清空后,我只能判断,但不能往里面保存数据。
      

  7.   

    先getPreferedrences()的editor()方法获得一个Editor对象
    它可以对xml文件手动操作,如果为空则将上次的值在写进来。
      

  8.   

    为什么不能保存呢?lz把你第一次存起来的数据取出来于现在EditTextPreference中数据比较下,如果改变了就存起来就OK了,能否把你整个SharedPreferencesActivity中代码贴出来,看看!
      

  9.   

    没有代码,都是xml写的,SharedPreferencesActivity中有这么一个方法,@Override
    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);
    }
    };
      

  10.   

    问题还没有解决,还有个问题,能不能设置EditTextPreference能不能设置输入数字的最小默认值,如果小于这个值,则提示,并设置为默认值
      

  11.   

    问题解决了~~自己看了下api,放出来给大家学习下:
    主要是setOnPreferenceChangeListener的用法;
    @Override
    public boolean onPreferenceChange(Preference preference, Object newValue) {
    if(preference.getKey().equals(KEY_DEFAULT_SIZE)){
                           if(不满足条件){return false;}

    }
    return true;
    }在这里返回值决定了是否修改内容成功。
      

  12.   

    你少说了一句android:selectable="true"