Android - 从数组中动态更改 ImageView

Android - Dynamically changing ImageView s from an array

我有一组图像,我正在尝试更改图像视图以匹配这些可绘制对象。出于某种原因,它们根本就没有被绘制出来。

到目前为止,这是我的代码:

TypedArray answerResources = res.obtainTypedArray(R.array.answers);
int resId = answerResources.getResourceId(randomQuestion, -1);
answerResources.recycle();

int [] questionAnswers = res.getIntArray(resId);

firstAnswerImg .setImageResource(questionAnswers[0]);
secondAnswerImg.setImageResource(questionAnswers[1]);
thirdAnswerImg .setImageResource(questionAnswers[2]);
fourthAnswerImg.setImageResource(questionAnswers[3]);

这里是 xml:

<array name = "answers">
    <item>@array/questionOneAnswers</item>
    <item>@array/questionTwoAnswers</item>
    <item>@array/questionThreeAnswers</item>
...
</array>

    <integer-array name = "questionOneAnswers">
        <item>@drawable/da</item>
        <item>@drawable/sk</item>
        <item>@drawable/cq</item>
        <item>@drawable/ht</item>
    </integer-array>

我错过了什么??

编辑:糟糕,我现在看到嵌套了。我认为你需要使用类型化数组(就像你对外部数组所做的那样),像这样:

<array name="answers">
  <item>@array/questionOneAnswers</item>
  <item>@array/questionTwoAnswers</item>
  <item>@array/questionThreeAnswers</item>
</array>
...
<array name="questionOneAnswers">
  <item>@drawable/da</item>
  <item>@drawable/sk</item>
  <item>@drawable/cq</item>
  <item>@drawable/ht</item>
</array>

然后,像这样从数组中拉取:

TypedArray answers = res.obtainTypedArray(R.array.answers);
int questionOneAnswersId = answerResources.getResourceId(0, 0));
TypedArray questionOneAnswers = res.obtainTypedArray(questionOneAnswersId);
firstAnswerImg.setImageDrawable(questionOneAnswers.getDrawable(0);
....