android获取imageview图片id,android – 从ImageView获取资源ID

在开发Android小游戏时,遇到一个问题:需要获取ViewFlipper中当前显示的ImageView的资源ID。通过`flipper.getCurrentView().getId()`得到的是-1,而非实际的`R.drawable` ID。代码中使用随机数生成器加载图片到ImageView,并尝试通过比较按钮ID与ImageView显示的图片ID来实现特定条件的触发。目前的问题是如何正确获取到ImageView显示的drawable资源ID。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在尝试开发一个小游戏.

我有一个ViewFlipper在ImageViews中有50张图片(随机频率为4张图片).然后我有4个按钮与相同的4张图片可以出现在ViewFlipper.

任务是在出现右图时单击右键.

(当图片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

{

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();

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值