PreferenceScreen
如果系统无法自动检测到它,我有一个用户可以输入设备的电话号码。我仍在学习 Android 的这一部分,但PreferenceScreen
通过 Android SDK 本身提供的示例和一些教程,我设法理解了一些 s。
我想要的是用户只能在 null 或有效时保存电话号码,其中“有效”是指运行通用验证逻辑(即返回 true 或 false 的匿名方法,可以在任何可能的情况下重用*) 或更好,只是为了简化事情,^(\+39)?3[0-9]{9}$
现在我有以下 XML 片段
<EditTextPreference
android:inputType="phone"
android:key="@string/preference_phoneNo"
android:selectAllOnFocus="true"
android:singleLine="true"
android:summary="@string/pref_phoneNumber_description"
android:title="@string/pref_phoneNumber" />
并由 EclipseNew Activity
向导提供以下代码:
private void setupSimplePreferencesScreen() {
if (!isSimplePreferences(this)) {
return;
}
addPreferencesFromResource(R.xml.pref_general);
bindPreferenceSummaryToValue(findPreference(getString(R.string.preference_phoneNo)));
}
addPreferenceFromResource
应该加载 XML 节点并将首选项添加到屏幕,而应该binPreferenceSummaryToValue
在首选项更新时更改描述文本。只是为了那些不喜欢 IDE 代码的人的完整性,第二种方法由 Eclipse 提供,它还在代码文件中提供了一个私有类,即
/**
* A preference value change listener that updates the preference's summary
* to reflect its new value.
*/
在一般情况下,当我在首选项编辑器上单击“确定”时,在保存首选项之前我应该如何执行验证逻辑?验证逻辑放在哪里PreferenceScreen
?
*我们不都是来学习的吗?