Java 将自定义对象数组传递给android中的另一个活动
我是android编程新手,我正在尝试向不同的活动发送一组自定义对象。在第一个活动中,我有一个创建意图并向其中添加对象数组的函数:Java 将自定义对象数组传递给android中的另一个活动,java,android,arrays,Java,Android,Arrays,我是android编程新手,我正在尝试向不同的活动发送一组自定义对象。在第一个活动中,我有一个创建意图并向其中添加对象数组的函数: public void openSchedule() { Intent nextScreen = new Intent(getApplicationContext(), Schedule.class); nextScreen.putExtra("array", tasks); startActivity(nextScreen); } 但是,
public void openSchedule() {
Intent nextScreen = new Intent(getApplicationContext(), Schedule.class);
nextScreen.putExtra("array", tasks);
startActivity(nextScreen);
}
但是,我不知道如何在下一个屏幕上获取数据
即使“任务”是一个自定义对象数组,有没有办法在下一个活动的代码中获取该数组?您没有搜索太多 选中此项以查看可包裹界面: 编辑:
这也是,您没有搜索太多 选中此项以查看可包裹界面: 编辑:
这也是,让您的自定义对象实现,以便利用
意图
类。让您的自定义对象实现,以便利用意图
类。您尝试过吗
在第二个活动中,将额外数据解析回列表中
public void parseBack(){
字符串arrayastring=getIntent().getExtras().getString(“数组”);
List List=Arrays.asList(新的Gson().fromJson(arrayaString,YourType[].class));
}
你试过了吗
在第二个活动中,将额外数据解析回列表中
public void parseBack(){
字符串arrayastring=getIntent().getExtras().getString(“数组”);
List List=Arrays.asList(新的Gson().fromJson(arrayaString,YourType[].class));
}
查看此链接查看此链接完美解决方案。哈哈,差点忘了此链接。可悲的是,我甚至在我的应用程序的其他部分使用Gson将我的对象数组保存在共享首选项中:/+1'因为你提醒了我这一点,这对我很有用。但是我需要将对象存储在数组列表中,而不是常规列表中。我需要如何编辑这段代码才能这样做?@VaskoVasilev只需删除数组。asList
就会得到一个数组。它仍然会给出不兼容的类型错误。返回的值是:“com.example.pogolemotoproektce.Classes.Book[]”Perfect solution.Lol,差点忘了这个。可悲的是,我甚至在我的应用程序的其他部分使用Gson将我的对象数组保存在共享首选项中:/+1'因为你提醒了我这一点,这对我很有用。但是我需要将对象存储在数组列表中,而不是常规列表中。我需要如何编辑这段代码才能这样做?@VaskoVasilev只需删除数组。asList
就会得到一个数组。它仍然会给出不兼容的类型错误。返回的值是:“com.example.pogolemotoproektce.Classes.Book[]”
public void openSchedule() {
Intent nextScreen = new Intent(getApplicationContext(), Schedule.class);
String arrayAsString = new Gson().toJson(tasks);
nextScreen.putExtra("array", arrayAsString);
startActivity(nextScreen);
}
public void parseBack(){
String arrayAsString = getIntent().getExtras().getString("array");
List<YourType> list = Arrays.asList(new Gson().fromJson(arrayAsString, YourType[].class));
}