簡體   English   中英

從android中的xml數組獲取資源

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM