簡體   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