我正在嘗試開發一個小遊戲。從ImageView獲取資源ID
我有一個ViewFlipper在ImageViews中有50張圖片(4張圖片的隨機頻率)。然後我有4個按鈕,可以在ViewFlipper中出現相同的4張圖片。
任務是在出現右圖時單擊右鍵。 (當圖片1出現按鈕1必須按等等)
我的問題是我不知道如何獲取顯示的ImageView id。
flipper.getCurrentView().getId()
給我「-1」作爲Id。但我想有 「R.drawable.pic1」
到目前爲止我的代碼的Id:
我的裝載機法:
protected void loadPicturesIntoFlipper() {
Random generator = new Random();
pictures = new ArrayList();
for(int i = 0; i < 50;i++){
int number = generator.nextInt(4) + 1;
if(number == 1){
pic = R.drawable.pic1;
}
if(number == 2){
pic = R.drawable.pic2;
}
if(number == 3){
pic = R.drawable.pic3;
}
if(number == 4){
pic = R.drawable.pic4;
}
pictures.add(pic);
}
for(int i=0;i<pictures.size();i++)
{
setFlipperImage((Integer) pictures.get(i));
}
}
我的插入法:
private void setFlipperImage(int res) {
image = new ImageView(getApplicationContext());
image.setBackgroundResource(res);
flipper.addView(image);
}
我檢查法:
protected void check(int number, int id) {
int code = 0;;
if(number == 1){
code = R.drawable.button_tip_finder;
}
if(number == 2){
code = R.drawable.button_about_us;
}
if(number == 3){
code = R.drawable.button_power_calculator;
}
if(number == 4){
code = R.drawable.button_powerpedia;
}
if(code == id){
test.setText(""+id);
}
else{
test.setText(""+id);
}
}
我這樣稱呼它:
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
check(1,flipper.getCurrentView().getId());
flipper.showNext();
}
});
''R.drawable.pic1'是一個drawable的資源ID,'.getId()'返回一個視圖的id。 –
你想要在你的圖像視圖內顯示圖像的ID? – Blackbelt
我想要在圖像視圖中顯示的圖像的ID,正確。 – Billabong