繁体   English   中英

Android EditText首选项验证

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM