从Array中设置Android中的ImageView

时间:2014-10-09 21:39:02

标签: android arrays imageview int

我刚开始使用android而我正在尝试将一个ImageView资源设置为一个id(从另一个活动传递)来自数组。

这是活动代码的相关部分:

Bundle extras = getIntent().getExtras(); 
int bNumber = extras.getInt("number");

Resources res = getResources();
int[] bLogos = res.getIntArray(R.array.bLogos);
int cImage = bLogos[bNumber];
ImageView imageLayout = (ImageView)findViewById(R.id.image);
imageLayout.setImageResource(cImage);

这是相关的活动布局:

<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="0dp"
android:paddingTop="0dp" />

这是阵列:

<array name="bLogos">
<item>@drawable/logo1</item>
<item>@drawable/logo2</item>
<item>@drawable/logo3</item>
</array>

问题是我的setImageResource没有进行仿真,drawable没有加载。 Eclipse并没有告诉我代码中的任何错误。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

Log.e("asd", "cImage: " + cImage);添加到您的代码中。您可以发现cImage总是 0 。不要使用xml文件来存储图片的ID。它不起作用。更改您的代码如下:

Bundle extras = getIntent().getExtras(); 
int bNumber = extras.getInt("number");

int[] bLogos = {R.drawable.logo1, R.drawable.logo2, R.drawable.logo3};
int cImage = bLogos[bNumber];
ImageView imageLayout = (ImageView)findViewById(R.id.image);
imageLayout.setImageResource(cImage);