Java 将对象发送到其他活动时出错
当我向主活动发送对象时,我的应用程序总是崩溃。我想要它,以便主活动显示我的类中的字符串,但每次我按第二个活动中的行并返回主活动时,应用程序崩溃。请有人帮助我修复此问题,谢谢 下面是我的班级Java 将对象发送到其他活动时出错,java,android,class,Java,Android,Class,当我向主活动发送对象时,我的应用程序总是崩溃。我想要它,以便主活动显示我的类中的字符串,但每次我按第二个活动中的行并返回主活动时,应用程序崩溃。请有人帮助我修复此问题,谢谢 下面是我的班级 public class Ship implements Serializable { public String test() { String s = "Hello Android!"; return s; } } 第二项活动 hangarList.setOnItemClickLi
public class Ship implements Serializable {
public String test()
{
String s = "Hello Android!";
return s;
}
}
第二项活动
hangarList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
Intent sendListEvents = new Intent();
if(position == 1)
{
Ship test = new Ship();
sendListEvents.putExtra("ship1", test);
}
//insert position events ^^^
setResult(RESULT_OK, sendListEvents);
}
});
}尝试更换此:
Intent getData = getIntent();
Ship ship1 = (Ship) getData.getSerializableExtra("Ship1");
为此:
Ship ship1 = (Ship) data.getSerializableExtra("ship1");
此外,我建议将“ship1”作为最终静态常量值,以避免在尝试引用它时出现拼写错误。如果您需要知道列表中单击的位置,可以将其作为另一个intent extra传递。您单击的是哪一行?您的意图仅在单击第二行时包含额外内容。此外,您放入“ship1”并得到“ship1”。从您的应用程序中感受不同的提供堆栈跟踪。@AlexanderZhak我已将Ship1更改为Ship1,但仍然不起作用
Ship ship1 = (Ship) data.getSerializableExtra("ship1");