Tôi có một tập tin xml (/res/xml/setting.xml) cho PreferenceActivity:Cách truy cập <item> từ <string-array> tài nguyên trong một XML android?
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Main Settings">
<ListPreference
android:title="Background Image"
android:summary="Set the background image"
android:key="key_background"
android:entries="@array/background"
android:entryValues="@array/background_values"
android:defaultValue="winter.png" />
</PreferenceCategory>
</PreferenceScreen>
Sau đó, tôi có một tập tin xml "/res/values/string.xml":
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="background">
<item>Winter</item>
<item>Desert</item>
</string-array>
<string-array name="background_values">
<item>winter.png</item>
<item>desert.png</item>
</string-array>
</resources>
Xem ListPreference trong setting.xml, tôi muốn android:defaultValue
được đặt bằng winter.png
. Nhưng tôi cũng không muốn được thiết lập với giá trị hardcoded/hằng số trong xml, vì vậy tôi đã thử với các giá trị khác nhau như "@array/background_values/0
", "@array/background_values[0]
", v.v ... nhưng tất cả đều không thành công.
Vì vậy, câu hỏi là:
- cú pháp chính xác cho accesing một mục nguồn chuỗi mảng trong xml khác là gì?
- Làm cách nào để đảm bảo rằng
android:defaultValue
có hoạt động không? - Có tài liệu nào về cú pháp
@array
không? Tôi không thể tìm thấy bất kỳ.
Xin chào, bạn có biết cách kiểm tra xem android: defaultValue có đang hoạt động không? – null
Bạn có thể muốn 'Xóa dữ liệu' trong ứng dụng của mình để đặt lại tùy chọn về mặc định. Bạn có thể làm điều đó trên Cài đặt điện thoại. (Ngoài ra xin đừng quên upvote và/hoặc đánh dấu này như một câu trả lời nếu nó giúp bạn) – julian
Cố gắng chọn một giá trị khác với giá trị mặc định. Sau đó, đi tới Cài đặt và xóa dữ liệu của ứng dụng của bạn. Lần tiếp theo bạn mở ứng dụng của mình, ứng dụng phải hiển thị giá trị mặc định. – julian