你如何验证的EditText preference在Android 2.1系统中输入的格式和价值观? [英] How do you validate the format and values of EditTextPreference entered in Android 2.1?

查看:149
本文介绍了你如何验证的EditText preference在Android 2.1系统中输入的格式和价值观?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有人有样本code,以验证在preferences用户输入的文本?例如,我有一个EditText上preference用户输入一个电子邮件地址。我想验证输入电子邮件地址的格式,并弹出一个警告对话框,如果格式不正确。任何人有什么样code这个?谢谢

Does anyone have sample code to validate user entered text in preferences? For example, I have a EditTextPreference for user to enter an email address. I'd like to validate the format of email address entered and pop up an alert dialog if the format isn't correct. Anyone have any sample code for this? Thanks

推荐答案

实施preference.On preferenceChangeListener

Implement Preference.OnPreferenceChangeListener

Boolean在preferenceChange(preference preference,对象为newValue)

boolean onPreferenceChange(Preference preference, Object newValue)

在preference已被用户更改时调用。这被称为前的preference状态即将被更新,状态持续了。

Called when a Preference has been changed by the user. This is called before the state of the Preference is about to be updated and before the state is persisted.

返回true更新的preference新值的状态。

Returns True to update the state of the Preference with the new value.

所以,你可以直接返回值的验证结果。

So you can directly return the result of value validation.

public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
        findPreference("mail_preference_key").setOnPreferenceChangeListener(
            new Preference.OnPreferenceChangeListener() {

            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
                return Pattern.matches("mailPattern", (String) newValue);
            }

        });
    }
}

这篇关于你如何验证的EditText preference在Android 2.1系统中输入的格式和价值观?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆