我的Android应用程序中有PreferenceActivity,允许用户配置各种参数。其中一些是在EditTextPreferences中输入的数字。我意识到我可以使用ListPreferences来强制输入为数字,但是允许值的范围太大而不方便。
因此,我想添加代码以验证各种条目,以尽可能地进行用户验证。我在应用程序的其他地方有非常相似的代码,它使用附加到EditTexts的setOnFocusChangeListener来检查Tab Activity中某些EditText的内容:
dataField.setOnFocusChangeListener (new DataFieldFocusChangeListener());
这就像一个魅力。
不幸的是,似乎没有调用我的PreferenceActivity中EditTextPreference内的EditText的焦点更改侦听器。任何人都可以建议一个适合这种情况的听众吗?
答案 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
}
});