如何为不实现 parcelable 的对象 Arraylist 实现 Parcelable?
How to implement Parcelable for an Arraylist of Object which does not implement parcelable?
我有一个 Jar 文件中的 class,它没有实现 parcelable,我无法编辑 Jar 文件。我从服务器获取对象作为响应,我需要使用 parcelable 将它传递给下一个 activity,这个 class 也有其他 Class 对象。我怎样才能做到这一点?
这里是 class 的代码:
//我要将其Arraylist发送给另一个activity的class。
//这个 class 在 JAR
里面
public class MacroConfig implements IConfig, IData {
private MacroIdentifiers identifiers;
private ArrayList<MacroRel> relation;
private ExecutionMode executionMode;
private ArrayList<RuleConfig> ruleConfig;
private ArrayList<String> instruction;
private ArrayList<String> _type_id;
private String type;
@JsonAdapter(JsonConverter.class)
private ArrayList<Extension> extension;
@JsonAdapter(JsonConverter.class)
private Expansion expand;
public MacroConfig() {
}
我尝试了博客上提到的事情和其他 Whosebug 问题,但没有找到任何合适的解决方案。
也许你可以尝试这种替代方式,来自发件人 Activity:
intent.putExtra("myObject",new Gson().toJson(listObject));
在接收器的 oncreate 中 activity
List<MyObject> obj = new Gson().fromJson(getIntent().getExtras().getString("myObject"), new TypeToken<List<MyObject>>(){}.getType());
我有一个 Jar 文件中的 class,它没有实现 parcelable,我无法编辑 Jar 文件。我从服务器获取对象作为响应,我需要使用 parcelable 将它传递给下一个 activity,这个 class 也有其他 Class 对象。我怎样才能做到这一点?
这里是 class 的代码:
//我要将其Arraylist发送给另一个activity的class。 //这个 class 在 JAR
里面public class MacroConfig implements IConfig, IData {
private MacroIdentifiers identifiers;
private ArrayList<MacroRel> relation;
private ExecutionMode executionMode;
private ArrayList<RuleConfig> ruleConfig;
private ArrayList<String> instruction;
private ArrayList<String> _type_id;
private String type;
@JsonAdapter(JsonConverter.class)
private ArrayList<Extension> extension;
@JsonAdapter(JsonConverter.class)
private Expansion expand;
public MacroConfig() {
}
我尝试了博客上提到的事情和其他 Whosebug 问题,但没有找到任何合适的解决方案。
也许你可以尝试这种替代方式,来自发件人 Activity:
intent.putExtra("myObject",new Gson().toJson(listObject));
在接收器的 oncreate 中 activity
List<MyObject> obj = new Gson().fromJson(getIntent().getExtras().getString("myObject"), new TypeToken<List<MyObject>>(){}.getType());