我覺得我必須錯過一些東西,但我只是不明白它是什麼...我有一個PreferenceActivity
與一堆各種喜好(有些是列表,一些只是文本字段),它都可以正常工作,但除非我將每個項目的值明確寫入彙總(顯然不是爲此目的),否則我不會看到項目如何(或在哪裏)顯示它們當前設置的內容。當我點擊它們時,各種視圖顯示了正確的設置,但這顯然不是這個意圖。有沒有辦法顯示PreferenceActivity的當前設置?
我是否必須創建自己的自定義List項目,該項目有一個顯示每個元素的當前填充值的字段?
我覺得我必須錯過一些東西,但我只是不明白它是什麼...我有一個PreferenceActivity
與一堆各種喜好(有些是列表,一些只是文本字段),它都可以正常工作,但除非我將每個項目的值明確寫入彙總(顯然不是爲此目的),否則我不會看到項目如何(或在哪裏)顯示它們當前設置的內容。當我點擊它們時,各種視圖顯示了正確的設置,但這顯然不是這個意圖。有沒有辦法顯示PreferenceActivity的當前設置?
我是否必須創建自己的自定義List項目,該項目有一個顯示每個元素的當前填充值的字段?
不幸的是,默認的PreferencesActivity並不顯示這些值:如果您希望顯示的所有首選項一目瞭然,那麼您正在做的事情是真的要走的路。
我有一種感覺,情況就是這樣,但它只是奇怪的是,它們會包含這樣一個無用的機制......有什麼意義?它沒有連接到我的默認共享首選項,對不對?所以,這不是簡單的設置(最初我想也許是這樣,關鍵字段用來查看我的共享首選項,但似乎並不是這樣)。所以......這只是一個List視圖,它保存了它自己的值?我肯定錯過了什麼! – 2011-05-07 16:54:22
嗯,它實際上是連接到你的默認共享首選項,所以除非你在別的地方犯了一個錯誤,那麼你應該工作。如果您在'onCreate()'方法中添加'addPreferencesFromResource(R.xml.prefs);'調用,它會將其拉高。這假設您的XML首選項文件在* res/xml *文件夾中被稱爲* prefs.xml *。 – Femi 2011-05-07 17:07:31
有意思......我爲我的xml文件有一個不同的名字......我會看看是否解決了這個不一致問題。 – 2011-05-16 19:42:40
創建另一個首選項字段:摘要。 每當更改首選項字段或顯示首選項屏幕時更新它。 用戶將能夠「更新」摘要值,但每當他/她輸入首選項時,都會顯示正確的值。
如果你還是想接着往下走的編程方向看這個線程:How do I display the current value of an Android Preference in the Preference summary?
擁有無所不有。
對於ListPreferences
,這是內置的,你可以使用
android:summary="Actual value: %s"
爲EditTextPreferences
,您可以easily create your own class:
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" />
[如何在首選項摘要中顯示Android偏好設置的當前值?](https://stackoverflow.com/questions/531427/how-do-i-display-the-current-value-of -an-android-preference-in-the-preference-su) – 2017-05-23 14:15:58