2014-10-09 109 views
0

我剛剛開始使用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不會告訴我代碼中有任何錯誤。

任何幫助,將不勝感激。

回答

2

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); 
+0

完美的工作,謝謝你。 – Trybadisch 2014-10-10 11:31:42