背景: 對於我的Android應用程序,我使用ListView和列表項觸發聲音,它們作爲.ogg文件存儲在/ res/raw /目錄中。我能夠通過存儲在strings.xml中的字符串數組自動設置文本標籤和列表視圖的長度,現在我需要一個額外的ResIDs數組,我希望在那裏存儲以便於在未來方便地擴展列表視圖。如何將此java數組轉換爲xml?
工作代碼: 對於字符串數組,我用這個代碼: 的Java代碼片段:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
...
titles = getResources().getStringArray(R.array.listoftitles);
XML(strings.xml中):
<string-array name="listoftitles">
<item>Title1</item>
<item>Title2</item>
</string-array>
問題的代碼: 的Java代碼片段:
filenames = new int[]{R.raw.both1, R.raw.both2, R.raw.both3, R.raw.both4, R.raw.both5
, R.raw.both6, R.raw.both7, R.raw.both8, R.raw.both9, R.raw.both10, R.raw.both11
, R.raw.both12, R.raw.both13, R.raw.both14, R.raw.both15, R.raw.both16, R.raw.both17
, R.raw.both18, R.raw.both19};
目標:
private void populatemylist() {
for (int i = 0; i < titles.length; i++) {
itemsdb.add(new Item(titles[i], descriptions[i], filenames[i]));
}
}
方法populatemylist()的便利性是至關重要的,而標題[]和描述[]是從XML陣列容易取出,它不爲文件名,這是我需要作爲渣油/ INT的工作值。我嘗試過使用整數數組,以及帶有TypedArray Java後端的通用數組,但是這似乎是針對drawable的,我只是無法從/ res/raw /文件夾中獲取任何東西。我想有一個簡單的陣列解決方案,即雲中的strings.xml在
<item>R.raw.both1</item>
時尚和簡單的Java後端,這讓我的那些文件名的int數組。
太謝謝你了!這正是我需要的。所有其他的stackoverflow問題和教程總是在Fragment中使用一個本地int [],並嘗試將整個數組轉換。這很好,因爲它只通過一種方法獲得重要的當前價值,這就是所有其他非工作解決方案所缺失的。 –