Android首选项:如何验证其值?特别优惠

Android首选项:如何验证其值?特别优惠,android,sharedpreferences,Android,Sharedpreferences,我们如何验证输入到EditBoxPrefence的值 例如,用户输入一个目录名,如 myfolder//或/myfolder或 我想修剪任何斜线,然后存储首选项的值 怎么可能呢?您可以测试该值并告诉用户出了什么问题: 或者你想做什么就做什么 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResourc

我们如何验证输入到EditBoxPrefence的值

例如,用户输入一个目录名,如

myfolder//或/myfolder或

我想修剪任何斜线,然后存储首选项的值
怎么可能呢?

您可以测试该值并告诉用户出了什么问题: 或者你想做什么就做什么

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);

    Your_Pref = (EditTextPreference) getPreferenceScreen().findPreference("Your_Pref");

    Your_Pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            Boolean rtnval = true;
            if (Your_Test) {
                final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                builder.setTitle("Invalid Input");
                builder.setMessage("Something's gone wrong...");
                builder.setPositiveButton(android.R.string.ok, null);
                builder.show();
                rtnval = false;
            }
            return rtnval;
        }
    });
}

您可以测试该值并告诉用户出了什么问题: 或者你想做什么就做什么

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);

    Your_Pref = (EditTextPreference) getPreferenceScreen().findPreference("Your_Pref");

    Your_Pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            Boolean rtnval = true;
            if (Your_Test) {
                final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                builder.setTitle("Invalid Input");
                builder.setMessage("Something's gone wrong...");
                builder.setPositiveButton(android.R.string.ok, null);
                builder.show();
                rtnval = false;
            }
            return rtnval;
        }
    });
}

谢谢,在没有提示的情况下处理值并保存处理后的值如何?谢谢,在没有提示的情况下处理值并保存处理后的值如何?