システムがPreferenceScreen
自動検出できない場合、ユーザーがデバイスの電話番号を入力できるようにしています。私はまだ Android のこの部分を学んでいますがPreferenceScreen
、Android SDK 自体といくつかのチュートリアルによって提供される例によって、少し理解することができました。
私が望むのは、ユーザーが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" />
New Activity
Eclipseウィザードの厚意による次のコード:
private void setupSimplePreferencesScreen() {
if (!isSimplePreferences(this)) {
return;
}
addPreferencesFromResource(R.xml.pref_general);
bindPreferenceSummaryToValue(findPreference(getString(R.string.preference_phoneNo)));
}
addPreferenceFromResource
はXML ノードをロードして設定を画面に追加することになっbinPreferenceSummaryToValue
ていますが、設定が更新されたときに説明テキストを変更することになっています。IDE の好意によるコードが気に入らない人のために完全を期すために、2 番目の方法は Eclipse によって提供されます。Eclipse はコード ファイルにプライベート クラスも提供します。
/**
* A preference value change listener that updates the preference's summary
* to reflect its new value.
*/
一般的に、環境設定エディターで [OK] をクリックしたときに環境設定が保存される前に、検証ロジックを実行するにはどうすればよいですか? 検証ロジックはどこに配置されPreferenceScreen
ますか?
*私たちは皆、学ぶためにここにいるのではありませんか?