Nếu bạn sử dụng một PreferenceAcitivity ngầm bạn đang sử dụng một tệp SharedPreference. Vì vậy, ngoài sự ưu tiên của bạn, bạn có thể truy cập tệp SharedPrefence và thay đổi nó. Ngay sau đó, những thay đổi đó sẽ được phản ánh trên PreferenceActivity của bạn.
Bạn cần một bối cảnh để truy cập SharedPreference. Nhìn về phía trước ví dụ về phương thức onCreate của sự đơn giản khác.
CẬP NHẬT: Sử dụng phương pháp này bạn không thể bật/tắt các mục. Bạn có thể thay đổi giá trị của chúng hoặc loại bỏ chúng
@Override
protected void onCreate(Bundle state){
super.onCreate(state);
// Restore preferences
SharedPreferences settings = getPreferences(MODE);
// Make sure we're running on Honeycomb or higher to use ActionBar APIs
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
//change your setting here
// We need an Editor object to make preference changes.
// All objects are from android.context.Context
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", mSilentMode);
// Commit the edits!
editor.commit();
}
}
cách khác, và trên quan điểm của tôi tốt hơn và dễ dàng hơn là Cung cấp tài nguyên thay thế. Bạn có thể cung cấp nhiều tệp xml, xác định cài đặt ứng dụng của bạn, theo cấp API Android, bằng cách sử dụng vòng loại tài nguyên. Ví dụ: v2, v17.
res-v4
setting.xml
res-v17
setting.xml -> This file can include specific Jelly Beans configs
Nguồn
2013-03-06 16:09:37
về giải pháp đầu tiên của bạn, các mục không thể được bật/tắt nên tôi sẽ không biết liệu chúng có tương thích với phiên bản Android này hay không. Giải pháp thứ hai của bạn là câu trả lời của tôi. Vui lòng mã hóa Bruno Mateus –
Bạn được chào đón. –