Tôi đang sử dụng CheckBoxPreference cho màn hình cài đặt. XML là:Đặt lại giá trị mặc định của Sở thích
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference android:key="includeAddress"
android:title="Include Address"
android:summary=""
android:defaultValue="true" />
<CheckBoxPreference android:key="rememberName"
android:title="Remeber Name"
android:summary=""
android:defaultValue="false" />
</PreferenceScreen>
Tôi thay đổi giá trị trong khi đăng ký. Khi người dùng đăng xuất, nó phải được đặt thành giá trị mặc định như được xác định trong xml. Nhưng, nó dường như không hoạt động. Họ giữ những giá trị mà tôi đã chọn cuối cùng.
Sau khi đọc tài liệu Android, tôi thấy điều này:
PreferenceManager.setDefaultValues(getApplicationContext(), R.xml.preference_settings, true);
Nhưng nó hầu như không làm được việc! Đã thử theo cách khác với SharedPreferences.
SharedPreferences preferences = getParent().getSharedPreferences("preference_settings", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.clear();
editor.commit();
Nó không hoạt động!
Tôi có thiếu gì đó không? Làm cách nào tôi có thể đặt tùy chọn cho các giá trị mặc định của chúng được xác định trong XML?
Cảm ơn trước!
Tôi đã xác định riêng tệp xml trong thư mục res/xml và được thêm bằng cách sử dụng addPreferencesFromResource (R.xml.preference_settings); trong lớp Prefs. Tôi có một lớp khác, Đăng xuất, nơi tôi cố gắng đặt giá trị mặc định. – Renjith
đã cập nhật câu trả lời của tôi – Nermeen
bạn đã xóa nó xuống! Cảm ơn! – Renjith