android imageview图片崩溃,android - setImageResource导致应用程序崩溃 - 堆栈内存溢出...

我试图做一个按钮,当单击它时会从一组卡中选择一个随机卡,并将其显示到ImageView中。 为此,我为它们的值和ID(可绘制的图像卡名称)提供了一个Card类。

public class Carte {

int valeur;

static String nomCarte;

public Carte(int valeur, String nomImage) {

valeur = this.valeur;

nomCarte = this.nomCarte;

}

public static String getImageId() {

return nomCarte;

}

}

我将其中的52个初始化为tab [],单击单击按钮绘制后,便会从tab []中随机选择一个,然后尝试通过获取所采集卡的ID来更改ImageView所采集卡的图像并使用setImageResource,但它使我的应用程序崩溃了,您能帮我吗?

这是我的mainActivity代码:

public class MainActivity extends AppCompatActivity {

protected Carte tab[];

protected ImageView imageCarte;

protected Button afficherCarte;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

imageCarte = (ImageView) findViewById(R.id.imageCarte);

tab = new Carte[]{new Carte(1, "c_1"), new Carte(1, "d_1"), new Carte(1, "h_1"), new Carte(1, "s_1"),

new Carte(2, "c_2"), new Carte(2, "d_2"), new Carte(2, "h_2"), new Carte(2, "s_2"),

new Carte(3, "c_2"), new Carte(3, "d_3"), new Carte(3, "h_3"), new Carte(3, "s_3"),

new Carte(4, "c_4"), new Carte(4, "d_4"), new Carte(4, "h_4"), new Carte(4, "s_4"),

new Carte(5, "c_5"), new Carte(5, "d_5"), new Carte(5, "h_5"), new Carte(5, "s_5"),

new Carte(6, "c_6"), new Carte(6, "d_6"), new Carte(6, "h_6"), new Carte(6, "s_6"),

new Carte(7, "c_7"), new Carte(7, "d_7"), new Carte(7, "h_7"), new Carte(7, "s_7"),

new Carte(8, "c_8"), new Carte(8, "d_8"), new Carte(8, "h_8"), new Carte(8, "s_8"),

new Carte(9, "c_9"), new Carte(9, "d_9"), new Carte(9, "h_9"), new Carte(9, "s_9"),

new Carte(10, "c_10"), new Carte(10, "d_10"), new Carte(10, "h_10"), new Carte(10, "s_10"),

new Carte(11, "c_11"), new Carte(11, "d_11"), new Carte(11, "h_11"), new Carte(11, "s_11"),

new Carte(12, "c_12"), new Carte(12, "d_12"), new Carte(12, "h_12"), new Carte(12, "s_12"),

new Carte(13, "c_13"), new Carte(13, "d_13"), new Carte(13, "h_13"), new Carte(13, "s_13"),};

afficherCarte = (Button) findViewById(R.id.afficherCarte);

afficherCarte.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Random r = new Random();

int i1 = r.nextInt(53 - 1) + 1;

int id = getResources().getIdentifier(tab[i1].getImageId(), "drawable", getPackageName());

imageCarte.setImageResource(id);

}

});

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值