PreferenceActivityおよびそのEditText-、List-、およびその他の***Preferenceクラスはタイプ のプリファレンスのみをサポートすることが知られていStringます。理由は明らかではありませんが (実際、これは Android の標準を著しく低下させますSharedPreferences)、そうであり、これとは何の関係もないようです。
Booleanすべての標準タイプの共有設定 ( 、Float、Int、Long、 ) をシームレスにサポートしString、String Setによって提供されるルック アンド フィールを維持したいと考えていPreferenceActivityます。必要になるケースの 1 つは、一部のプリファレンスがアプリケーションに既に存在し、それらが文字列ではない場合です。
もちろん、既存の設定を文字列に変換する簡単な方法もありますが、これは見苦しく、最後の手段です。PreferenceActivityもう 1 つの方法は、機能を模倣し、すべてのタイプを処理するアクティビティをゼロから作成することです。これは日常業務が多すぎるようです。
誰かが知っていて、***Preferenceすべての標準型をサポートするそのような拡張された子孫の既存の実装を提案できますか? EditTextPreference、およびListPreference必要なタイプにテンプレート化されていれば、最初は十分です。
さまざまな種類の設定を簡単に UI で操作する方法が他にある場合は、それらについても言及してください。