将对象发送到另一个活动时出错

时间:2014-09-05 23:10:24

标签: java android class

当我将对象发送到主要活动时,我的应用程序总是崩溃。我想要它,所以主要的活动显示我的班级的一个字符串,但每次我按下第二个活动中的行,然后回到主要活动,应用程序崩溃可以有人帮我解决这个问题,谢谢。

我的课程

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


 }
    });

以下主要活动

    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == result) {

        if (resultCode == RESULT_OK) {

            Intent getData = getIntent();
            Ship ship1 = (Ship) getData.getSerializableExtra("ship1");
            String s = ship1.test();
            test.setText(s);

        }
    }

}

1 个答案:

答案 0 :(得分:0)

尝试替换它:

Intent getData = getIntent();
Ship ship1 = (Ship) getData.getSerializableExtra("Ship1");

有了这个:

Ship ship1 = (Ship) data.getSerializableExtra("ship1");

另外,我建议制作&#34; ship1&#34;最终的静态常量值,以避免在尝试引用时出现拼写错误。如果您需要知道列表中被单击的位置,您可以将其作为另一个额外的意图传递。