PreferenceActivity で RadioGroup を定義することは可能ですか? 複数の選択肢を提供する場合、ListView しか見つかりませんでした。
何か不足していますか?
PreferenceActivity で RadioGroup を定義することは可能ですか? 複数の選択肢を提供する場合、ListView しか見つかりませんでした。
何か不足していますか?
どの Preference
クラスも延長可能です。PreferenceCategory
たとえば、拡張することで、あなたが探していることを正確に行いました。で通常のように子設定 ( や など) を追加しPreferenceScreen
、それをオーバーライドして、 でコードでウィジェット リソースを変更/設定します。当然、新しいウィジェットには. でカスタムを設定します。EditTextPreference
addPreference()
setWidgetLayoutResource()
RadioButton
OnPreferenceClickListener
setOnPreferenceClickListener()
次に、 のViewGroup
「親」への参照を取得しonCreateView()
ます。ListView
次に、それをinにキャストし、その上にonBindView()
a を設定できOnHierarchyChangeListener
ます。Preference
子がView
に追加されたときに通知を受け取るようになりましたListView
。View.OnClickListener
階層内の newに new を設定しますが、 に が含まれているView
場合のみです。クリックを管理します。View
RadioButton
子として追加するだけでよい場合は、実際には非常に簡単ですPreferenceScreen
。EditTextPreference
また、トリッキーな部分である でそれが必要でした。
利点は単純です。デフォルトの環境設定フレームワークの外観と動作を のコンテキスト外で取得できますListPreference
。AListPreference
も違うようです。また、 a にListPreference
は事前定義された値のみを含めることができます。したがってEditTextPreference
、ラジオ ボタンで を選択する必要がある場合、それは不可能です。
API Demo App - Preferences - Preferences from XML またはその他の例を見てください。
基本的にそのコードをコピーできます。ラジオグループのリストを表示するエントリがあります。
私は今コードを持っていませんが、あなたはここで見ることができます、それは似ています:
http://www.kaloer.com/android-preferences
<ListPreference
android:title="List Preference"
android:summary="This preference allows to select an item in a array"
android:key="listPref"
android:defaultValue="digiGreen"
android:entries="@array/listArray"
android:entryValues="@array/listValues" />
PreferenceActivity で RadioGroup を定義することは可能ですか?
DialogPreference
をホストする独自のサブクラスを作成することは歓迎されますRadioGroup
が、ListPreference
.
複数の選択肢を提供する場合、ListView しか見つかりませんでした。
AListPreference
は、複数の選択肢ではなく、単一の選択肢を提供します。複数の選択肢には新しいものがありますがMultiSelectListPreference
、それは API レベル 11 でのみ表示されました。