0

設定を有効にすると、特定の長さ (文字数) でなければならない文字列がいくつか表示される設定画面があります。また、すべての文字列が必要です。理想的には、ユーザーがこの設定を有効にした場合、すべての文字列が適切な長さでファイルされるまで、変更を適用できないはずです。最大長について話しているのではなく、正確な文字数について話していることに注意してください。

これらのルールをユーザーに適用するにはどうすればよいですか? 組み込みの設定コントロールを使用してこれを行う方法はありますか?それともカスタム フラグメントを作成する必要がありますか?

4

1 に答える 1

1

Preference クラスには onPreferenceChange リスナーがあります。public abstract boolean onPreferenceChange (優先設定、オブジェクト newValue);

このリスナーから false を返すと、新しい値は受け入れられません。

public boolean onPreferenceChange(Preference pref, Object newValue) {
  if (pref == myStringPreferenceToValidate) {
      final String newValueStr = (String) newValue;
      if (newValueStr.length() != XX) {
        // don't save it, not the correct length
        return false;
      }
      return true;
   }
}

ここで完全なドキュメントをチェックしてください: http://developer.android.com/reference/android/preference/Preference.OnPreferenceChangeListener.html

于 2013-04-05T20:40:59.457 に答える