我有两个类TrapCard
和EquipmentCard
,我想从中创建一个对象并将该对象传递给活动。我在可包裹对象中放入了一个字符串和一个int变量。 int变量是对.svg
图像的引用。然后,我尝试从该对象获取引用以在另一活动中加载.svg
图像。对于TrapCard
,此方法有效。但是,当我为EquiptmentCard
做一些事情时,我的应用因E/Zygote: isWhitelistProcess - Process is Whitelisted
崩溃了
EquiptmentCard
的构造函数:
public EquipmentCard(String cardName){
this.cardName = cardName;
switch (cardName){
case "Rope": cardPicRes = R.drawable.ic_rope;
break;
}
}
在这里,我试图获取参考并加载图像
final EquipmentCard equipCard = new EquipmentCard(cardName);
returnIntent.putExtra("card",equipCard);
returnIntent.putExtra("cardType","E");
runOnUiThread(new Runnable() {
@Override
public void run() {
imgViewCard.setImageDrawable(getResources().getDrawable(equipCard.getCardPicRes(), getApplicationContext().getTheme()));
}
});
TrapCard
也是一样,
final TrapCard trapCard = new TrapCard(cardName);
returnIntent.putExtra("card",trapCard);
returnIntent.putExtra("cardType","F");
runOnUiThread(new Runnable() {
@Override
public void run() {
imgViewCard.setImageDrawable(getResources().getDrawable(trapCard.getCardPicRes(), getApplicationContext().getTheme()));
}
});
我正在Google mobileVisionAPI的receiveDetections
函数中执行此操作
通过调试,我可以看到我的代码运行到此行
imgViewCard.setImageDrawable(getResources().getDrawable(equipCard.getCardPicRes(), getApplicationContext().getTheme()));
,然后在logcat中崩溃并提到错误。
我尝试将其放入,但没有收到错误。提前谢谢您的度过,并度过美好的一天。
UPDATE1:我将EquipmentCard
中的图像设置为ic_spider1
,它可以正常工作。我不知道ic_rope
怎么了。
UPDATE2:现在我得到一个异常android.content.res.Resources$NotFoundException: Drawable xxx.xxx:drawable/ic_rope with resource ID #0x7f060072
,但是我不知道为什么。我添加蜘蛛的方式与此相同。删除并再次添加无效。
UPDATE3:好的。我的ic_rope.xml
似乎里面有一个大字符串。我尝试重建项目,然后显示消息string too large to encode using UTF-8
。如果删除ic_rope.xml
,则可以重建而不会出现任何错误。
答案 0 :(得分:0)
尝试更换
imgViewCard.setImageDrawable(getResources().getDrawable(equipCard.getCardPicRes(), getApplicationContext().getTheme()));
具有:
setImageResource(R.id.your_image_id)