[英]Getting String Array in Android from .xml using Resources.getSystem()
[英]Get resources from xml array in android
我在xml
文件中有一個數組:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="sounds_array">
<item>R.raw.fart</item>
<item>R.raw.beep33</item>
</array>
</resources>
我想創建一個媒體播放器來播放raw
文件夾中的這些聲音。
mSoundsArray = mContext.getResources().obtainTypedArray(R.array.sounds_array);
mediaPlayer = MediaPlayer.create(mContext, mSoundsArray.getResourceId(0, -1));
mediaPlayer.start();
但不是預期的結果,而是這個錯誤:
造成原因:android.content.res.Resources $ NotFoundException:資源ID#0xffffffff
任何想法如何從該數組獲取resourceId
?
這就是我做同樣的事情的方式:
Resources res = getResources();
final TypedArray sounds = res.obtainTypedArray(R.array.sounds_array);
int[] resIds = new int[sounds.length()];
for (int i = 0; i < sounds.length(); i++) {
resIds[i] = sounds.getResourceId(i, -1);
}
sounds.recycle();
變更:
<array name="sounds_array">
<item>R.raw.fart</item>
<item>R.raw.beep33</item>
</array>
至
<string-array name="select_sounds">
<item>@raw/fart</item>
<item>@raw/beep33</item>
</string-array>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.