我创建了一个包含ImageView,boolean和Integer类型数据字段的对象。无法通过意向将自制序列化对象传递给另一个活动
public class MemoryCard implements View.OnClickListener, Serializable {
private ImageView image;
private int id;
private int nr;
private boolean clicked = false;
private int cardBack;
private int cardFront;
public MemoryCard(Context context, int id, int nr, int cardFront)
{
this.id = id;
this.nr = nr;
this.cardBack = R.drawable.backside;
this.cardFront = cardFront;
this.image = new ImageView(context);
this.image.setImageResource(this.cardBack);
this.image.setOnClickListener(this);
}
}
当我开始发送一个对象从MainActivity到SecondActivity,然后发生错误,我的应用程序停止运行。
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("object", new MemoryCard(this, 0, 0, R.drawable.myImage));
startActivity(intent);
我认为这是与参数这和的MEMORYCARD构造R.drawable.myImage但为什么呢?
为什么不直接发送在下一个Activity中保存所有必需数据的Class对象来显示'ImageView'而不是发送'ImageView'对象? –
“我的应用程序停止运行” - 使用LogCat检查与您的崩溃相关的Java堆栈跟踪“:https://stackoverflow.com/questions/23353173/unwanted-myapp-has-stopped-how-can-i-solve正如其他人指出的那样,很可能是因为无法序列化,而在'ImageView'上崩溃.' SecondActivity'没有直接修改'MainActivity'的UI的方法,这是我对你的猜测试图在这里完成 – CommonsWare