3

何かが足りないように感じますが、それが何であるかわかりません...PreferenceActivityさまざまな設定(リスト、テキストフィールドなど)がたくさんあり、すべて正常に機能しますが、各アイテムの値をサマリーに明示的に書き込みます(これは明らかにこの目的を意図したものではありません)。アイテムが現在設定されているものをどのように(またはどこで)表示するかわかりません。それらをクリックすると、さまざまなビューが正しい設定で表示されますが、それは明らかに意図したものではありません。

各要素の現在入力されている値を表示するフィールドを持つ、ある種の独自のカスタムリストアイテムを作成する必要がありますか?

4

4 に答える 4

2

残念ながら、デフォルトのPreferencesActivityは値を表示しません。すべての設定を一目で表示したい場合は、実際に実行している方法です。

于 2011-05-07T15:53:18.903 に答える
2

それでもプログラミングの方向性を確認したい場合は、次のスレッドを参照してください。Android設定の現在の値を設定の概要に表示するにはどうすればよいですか?

そこにすべてがあります。

于 2011-05-22T13:20:28.117 に答える
1

別の設定フィールドを作成します:summary。設定フィールドが更新されるたび、または設定画面を表示するときに更新します。ユーザーは要約値を「更新」できますが、設定を入力するたびに正しい値が表示されます。

于 2011-05-07T15:52:32.433 に答える
0

の場合ListPreferences、これは組み込みであり、使用できます

android:summary="Actual value: %s"

の場合EditTextPreferences独自のクラスを簡単に作成できます

package your.package.preference;

import android.content.Context;
import android.util.AttributeSet;

public class EditTextPreference extends android.preference.EditTextPreference{
        public EditTextPreference(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
        }

        public EditTextPreference(Context context, AttributeSet attrs) {
            super(context, attrs);
        }

        public EditTextPreference(Context context) {
            super(context);
        }

        @Override
        public CharSequence getSummary() {
            String summary = super.getSummary().toString();
            return String.format(summary, getText());
        }
    }

そして、これをxmlで使用します。

<your.package.EditTextPreference
                android:key="pref_alpha"
                android:summary="Actual value: %s"
                android:title="Title"
                android:defaultValue="default"
                />
于 2017-05-23T14:14:47.023 に答える