我有一個特殊的問題。我在 xml 文件中有一個數(shù)組:res/values/difficulties.xml<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="difficulty_names"> <item> @string/easy </item> <item> @string/medium </item> <item> @string/hard </item> <item> @string/insane </item> <item> @string/preposterous </item> <item> @string/ludicrous </item> </string-array></resources>為了初始化這個數(shù)組,我使用了這個方法:String[] difficultiesNamesArray = getResources().getStringArray(R.array.difficulty_names); 這非常有效。直到我將這個文件移動到不同的文件夾中。從此這個方法就失效了。新路徑是:res/arrays/difficulties.xml我想知道,如何定位此文件并在此重新定位的 xml 文件上再次使用 getStringArray() 方法?;蛘呱踔量梢允褂?getResources().getStringArray(R.array.***) 方法。如果沒有,我如何從這個不同的路徑讀取數(shù)組。我的猜測是,它需要實現(xiàn) XMLParser。但我不知道如何用這個簡單的數(shù)組來做。在developer.android.com我發(fā)現(xiàn)了這個信息:字符串資源定義字符串、字符串數(shù)組和復數(shù)(包括字符串格式和樣式)。保存在res/values/中并從R.string、R.array和R.plurals類訪問。所以我認為這與我的問題有某種聯(lián)系,我不能對位于不同路徑的文件使用 getStringArray() 方法,然后res/values/。但這只是我的直覺。我不知道。我對嗎?可以從不同的路徑讀取 array.xml 嗎?如果是如何?
1 回答

一只斗牛犬
TA貢獻1784條經(jīng)驗 獲得超2個贊
res/values/ 是系統(tǒng)保留文件夾。因此,當您在該文件夾中添加數(shù)組、字符串等時,將根據(jù)您要添加的值的類型生成一個 android Resource ("R") 類。因此,如果您使用不同的文件夾結構,則不會生成相同的“R”類值。
如果你想在你自己的文件夾結構中維護你的值,那么你可能需要將它放在你想要的任何文件夾結構中的“assets”文件夾中。然后訪問它,你需要自己解析xml,這是非常不推薦的。
我的建議是以類似于文件夾結構的方式命名您的字符串文件。在你的情況下,考慮命名為res/values/arrays_difficulties.xml
添加回答
舉報
0/150
提交
取消