在Android中设置ImageView中的ImageView
问题描述:
我刚刚开始使用android,我试图将一个ImageView资源设置为一个数组(从另一个活动传递)。在Android中设置ImageView中的ImageView
这是活动的代码的相关部分:
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不会告诉我代码中有任何错误。
任何帮助,将不胜感激。
答
将Log.e("asd", "cImage: " + cImage);
添加到您的代码。你可以发现cImage始终是。不要使用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);
完美的工作,谢谢你。 – Trybadisch 2014-10-10 11:31:42