XML'de tanımlanmış bir Android tercihinin varsayılan değerini nasıl edinirsiniz? Hem kod hem de tercihler XML'deki varsayılan değerin tanımını tekrarlamak istemiyorum.Android tercihinin varsayılan değeri
cevap
Sen kaynaklarında varsayılan değeri (/values/bool.xml
) tanımlayabilir Tamsayı sabitlerini saklamak için res/values
altında.
kodunda "@integer/default_brightness"
context.getResources().getInteger(R.integer.default_brightness)
Bunu yapmanın güzel bir yolunu değiştirdim. Paylaşım için teşekkürler! – pilcrowpipe
Tam olarak aradığım şey bu, teşekkürler. Bir ipucu: Yerelleştirmeyi önlemek için strings.xml dosyasında değil, ayrı bir dosyada (örn., Constants.xml) tanımlayın. – schnatterer
@schnatterer: dizeleri farklı bir dosyaya taşımak yerelleştirmekten kaçınıyor. 'Strings.xml' dosya adı yalnızca bir sözleşmedir. Herhangi bir kaynak, doğru 'res /' alt klasörüne yerleştirilerek yerelleştirilebilir. Varsayılan ayarları ayrı bir kaynak dosyasına yerleştirmek muhtemelen iyi bir fikirdir. –
Öncelikle, tercih XML dosyanızı varsayılan değerleri tanımlamanız gerekir. Sonra arayarak ana Aktivite varsayılan değerlerle tercihlerini doldurabilirsiniz:
PreferenceManager.setDefaultValues(this, R.xml.preference, false);
sadece dediğimiz bazı tercih almak gerektiğinde:
int value = prefs.getInt("key", null);
tercihlerinizin doldurulur yana vermeyeceksin null
değerini al.
SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(context);
Boolean value = context.getResources().getBoolean(R.bool.mypreference_default);
Boolean b = p.getBoolean("mypreference", value);
Bu hala birileri hattını gelen bir tercih kaldırır olası duruma karşı koruma sağlamaz demek do referans prefereces.xml
yılında XML ve bunu isteyen Java kodunu güncellemeyi unutur. Bu durumda, uygulama hala derlenecek, ancak bir NullPointerException ile sonuçlanacaksınız. –
idolize
Evet, bu doğru, ancak daha sonra gerekli tüm tercihlerin XML'den alınıp alınmadığını test etmek için bir İşlev Testi yapılmalıdır. – pixel
bu aslında benim için hiç işe yaramadı. Bu yöntem çağrıldıktan sonra varsayılan değerler ayarlanmamış. – moonlightcheese
integer.xml
oluşturun:
<resources>
<bool name="mypreference_default">true</bool>
</resources>
Kullanım preferences.xml
değeri:
<CheckBoxPreference
android:defaultValue="@bool/mypreference_default"
android:key="mypreference"
android:title="@string/mypreference_title" />
Sonra kodunda kullanmak
- 1. android java.net.Socket varsayılan zaman aşımı değeri nedir?
- 2. C++ varsayılan değişken değeri
- 3. Mockito: varsayılan döndürme değeri
- 4. DataContract'ta varsayılan değeri ayarlayın?
- 5. OpenERP one2many varsayılan değeri
- 6. PHP'deki değişkenlerin varsayılan değeri?
- 7. Android CheckBoxPreference Varsayılan Değer
- 8. vTiger İletişim - Varsayılan Değeri Değiştir
- 9. jquery clear giriş varsayılan değeri
- 10. Django factoryboy, varsayılan parametre değeri
- 11. Python yapıcısı ve varsayılan değeri
- 12. Varsayılan değeri seç menüden seç
- 13. Ek Açıklama varsayılan "boş" değeri
- 14. Android SearchView seti varsayılan
- 15. Android 'ayıklaması' varsayılan değer
- 16. Android varsayılan karakter kodlaması
- 17. Android varsayılan webview'ini değiştirin
- 18. Android özel tercih değeri kaydedilmedi
- 19. Android ScanResult.level değeri
- 20. android sharedpreferences set değeri
- 21. Bir comboBox extjs için varsayılan değeri yükle
- 22. TransactionScope varsayılan Zaman Aşımı değeri nedir?
- 23. Referans tipi için varsayılan değeri belirtin
- 24. React JS select-menu varsayılan değeri
- 25. Metaclass varsayılan argüman değeri (2009 Delphi)
- 26. C# Bir dize koleksiyonunun varsayılan değeri Tasarım
- 27. Varsayılan değeri nedir (IEnumerable <T>)?
- 28. C# - Bir örnek için türünün varsayılan değeri
- 29. Symfony2 formundaki Datetime alanında varsayılan değeri ayarlayın
- 30. Bir Varyant özelliğinin varsayılan değeri olabilir mi?
, xml tercihleri dosyayı göndermek bir PreferenceScreen – Jorgesys