如何将自定义对象从列表移动到列表?

时间:2014-02-03 18:03:07

标签: android arraylist sharedpreferences

最近我遇到了一个我不知道如何解决的问题。

我有2个不同的ArrayLists,每个人都在另一个Activity。 我的目标是将症状(自定义对象)从一个列表移动到另一个列表,我认为我可以使用SharedPreferences来移动数据,但是如果我想移动多个症状,它不起作用。

在发送屏幕上;

            //My attempt :
SharedPreferences sp=getSharedPreferences("syms", 0);
Editor edit=sp.edit();
edit.putString("SYM_Name", mySym.get(position).name);
edit.putString("SYM_Details", mySym.get(position).details);
edit.commit();

在接收屏幕上:

  

SharedPreferences sp = getSharedPreferences(“syms”,0);

     

allSym.add(新症状(sp.getString(“SYM_Name”,null),sp.getString(“SYM_Details”,null)));

我希望你们能在这里帮助我,

提前致谢;

的Yaniv。

3 个答案:

答案 0 :(得分:0)

还可以尝试通过Intent传递数据。

答案 1 :(得分:0)

如果您从活动一开始活动二。然后你可以通过Intent传递对象。

Intent intent = new Intent(this, ActivityTwo.class);
intent.putExtra("symptoms", list);
startActivity(intent); 

由于ArrayList是Serializable,你可以在putExtra()中使用。

答案 2 :(得分:0)

您可以使用Gson将它们解析为Json,然后您可以将该字符串放入SharedPrefs中,然后将其解析回来。

Refer to this tutorial for more.