在Android中,如何在PreferenceActivity中检查EditTextPreference的内容

时间:2013-07-17 17:45:17

标签: android android-activity android-preferences

我的Android应用程序中有PreferenceActivity,允许用户配置各种参数。其中一些是在EditTextPreferences中输入的数字。我意识到我可以使用ListPreferences来强制输入为数字,但是允许值的范围太大而不方便。

因此,我想添加代码以验证各种条目,以尽可能地进行用户验证。我在应用程序的其他地方有非常相似的代码,它使用附加到EditTexts的setOnFocusChangeListener来检查Tab Activity中某些EditText的内容:

dataField.setOnFocusChangeListener (new DataFieldFocusChangeListener());

这就像一个魅力。

不幸的是,似乎没有调用我的PreferenceActivity中EditTextPreference内的EditText的焦点更改侦听器。任何人都可以建议一个适合这种情况的听众吗?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用以下侦听器: -

yourEditText.addTextChangedListener(new TextWatcher() {

    @Override
    public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub

    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onTextChanged(final CharSequence s, int start, int before, int count) {

        // Perform validation here

    }

});