3

基本的に、ユーザーがライブ壁紙のテキストの X 位置を変更できるようにする ListPreference があります。

これには、上、中、下、手動で入力する X の 4 つのエントリが含まれています。最初の 3 つのオプションは問題ありません。WallpaperService クラスで SharedPreferences を取得し、それらが上、中、下のいずれであるかを確認し、選択した位置に対応する位置を変更するだけです。 .

ただし、最後のオプションはより困難であることが証明されています。私がやりたいことは、ユーザーが「X を手動で入力する」ListPreference 項目をクリックしたときに、EditText アラート ボックス ポップアップを表示して、X の値を入力できるようにすることです。方法がわかりません。その特定のリスト要素をクリックしてアラートポップアップを作成します。

4

2 に答える 2

3

おそらくカスタムを作成したいと思うでしょうListPreference。基本的に、から拡張して(ここでListPreferenceオリジナルを参照)、カスタムを提供します。このカスタムでは、追加の「カスタム」リスト項目と、「カスタム」エントリの選択を処理するためのonclickを提供します。protected void onPrepareDialogBuilder(Builder builder)

このクラスを可能な限り再利用可能にすることがベストプラクティスであるため、私は「カスタム」と言い続けていることに注意してください。

于 2011-05-30T21:51:36.690 に答える
0

あなたの設定をオーバーライドonPreferenceTreeClick()してPreferenceActivity、それが与える設定と、あなたが何かをしたい設定を比較してください。

于 2011-05-30T21:11:29.887 に答える