如何使用編程填充值(如:Version,Model number ...)製作首選項?如何使只讀(以編程方式填充)首選項?
回答
您可以在您的代碼中設置首選項,並檢查它在填充前是否已被填充。只要您不允許用戶更改此信息,他們所能做的只是「清除本地數據」,如果您做得對,這將導致程序重新填充數據。
我使用這種技術來存儲設備的唯一ID,登錄等等。用戶甚至不會(也不應該)知道我跟蹤的內容,他們只知道他們有一個流暢的程序這就是他們需要它做的事情。
例子:
SharedPreferences settings = context.getSharedPreferences("preferanceName", 0);
SharedPreferences.Editor editor = settings.edit();
int value = foo;
editor.putInt("ValueToStore", value);
editor.commit();
謝謝。是否有可能使「preferencses.xml」中的項目顯示爲「灰色」(只讀)文本而無法進行交互式編輯? – yuriy 2011-12-29 18:46:50
我做了我自己的自定義偏好活動,所以我不能告訴你。聽起來像是另一個問題:D – Pyrodante 2011-12-29 18:50:35
@yuriy:是的,您可以通過將android:enabled =「false」添加到XML來使Preferences成爲只讀。詳情請看這裏:http://developer.android.com/reference/android/preference/Preference.html – 2011-12-29 21:03:54
我做到了這一點與以下:
在我application_preferences.xml我有以下的偏好。這使得它仍然是黑色(不是灰色),但仍然不能被用戶編輯。使它變灰很難閱讀。
<EditTextPreference
android:key="version"
android:title="@string/version"
android:enabled="false"
android:selectable="false"
android:persistent="false"
android:shouldDisableView="false"/>
在偏好活動onCreate方法中,獲取版本首選項並將標題設置爲應用程序版本。
EditTextPreference versionPref = (EditTextPreference)findPreference("version");
String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
versionPref.setTitle(getString(R.string.version) + ": " + version);
謝謝,正是我在找的東西。 – Vyrx 2012-12-19 15:52:31
正是我在尋找 – 2015-11-27 23:28:16
爲什麼不直接使用android.preference.Preference?
<Preference
android:key="version"
android:title="@string/version" />
沒有編輯對話框,沒有更多的屬性和信息!
//Set the version string in your code
findPreference("version").setSummary(version);
凱文韋斯特伍德它是完美的謝謝!
在我來說,我只是改變了的setTitle到setSummary,所以價值波紋管標題可見。
String serverUrl = "http://...";
EditTextPreference pref = (EditTextPreference)findPreference("serverPrefKey");
pref.setSummary(serverUrl);
- 1. 用複選框以編程方式填充首選項
- 2. 以編程方式使用選中的選項填充CheckBoxList
- 3. 如何以編程方式填充DataGridView
- 4. 如何以編程方式填充微調器選項(不使用xml)
- 5. Eclipse:如何以編程方式獲取啓動首選項
- 6. 如何以編程方式更改Eclipse首選項
- 7. 使單個按鈕寬度以編程方式填充父項
- 8. 以編程方式填充的DataGridView
- 9. 以編程方式填充水平UIScrollView
- 10. swift - 以編程方式填充STPPaymentCardTextField
- 11. 以編程方式填充DataGridView ComboBoxCell
- 12. 如何以編程方式使用ImageButton填充網格?
- 13. 如何以編程方式使UICollectionView填充UITableViewCell?
- 14. 使用Eclipse首選項爲文本着色;如何以編程方式訪問Eclipse語法着色首選項
- 15. 以編程方式填充的UITableView無法填充屏幕
- 16. 以編程方式填充WPF自動填充框
- 17. 如何以編程方式填充Sitecore項目(添加項目和字段)?
- 18. 以編程方式填充共享點中的選擇字段
- 19. 如何在Silverlight中以編程方式填充網格?
- 20. 如何以編程方式用CoreData行填充NSArrayController?
- 21. 如何以編程方式刪除ImageButton的填充?
- 22. 如何以編程方式填充或創建filer.fields.image.FilerImageField?
- 23. 如何以編程方式填充React的輸入字段值?
- 24. 如何以編程方式填充AndroidManifest元數據值?
- 25. 如何以編程方式設置ListView的頂部填充?
- 26. 如何以編程方式填充活動的元素
- 27. 如何以編程方式填充數據庫
- 28. 如何以編程方式填充scrollview的寬度
- 29. 如何以編程方式填充Mongoose模型字段?
- 30. C# - 如何以編程方式填充.net DataGridView?
請問您能選擇一個「正確的」答案嗎? – 2015-07-20 00:02:28