如何使 ArrayList with model class data serializable in android between Activities?
How to make ArrayList with model class data serializable in android between Activities?
我在 ArrayList 中有一个数据集合,其中包含具有以下数据类型的可序列化模型:-
- 布尔值已检查
- 字符串名称
- 字符串详细信息
我想将这些数据从 First Activity 传递到 Second Activity 并使用带有适配器回调的 listView 适配器编辑 isChecked
的布尔状态。当我回到 First Activity 我想更新 Second Activity 的数据。
我能够在第二个 Activity 中传递数据并更新它,但无法在第一个 Activity 中获取更新的数据。怎么可能达到我的要求,非常感谢任何帮助谢谢
你必须在这里使用startActivityForResult。需要将您的模型数组列表再次传递回 activity 一个。
参考下面的代码实现你想要的。
How to pass data from 2nd activity to 1st activity when pressed back? - android
下面可以这样传
第一种方法
1) 将您的对象 class 实现为可序列化
public class Question implements Serializable
2) 将其放入您的来源 Activity
ArrayList<Question> mQuestionList = new ArrayList<Question>;
mQuestionsList = QuestionBank.getQuestions();
mQuestionList.add(new Question(ops1, choices1));
Intent intent = new Intent(SourceActivity.this, TargetActivity.class);
intent.putExtra("QuestionListExtra", mQuestionList);
3) 将其放入您的目标 Activity
ArrayList<Question> questions = new ArrayList<Question>();
questions = getIntent().getSerializableExtra("QuestionListExtra");
第二种方法
注意你的模特class必须implements Parcelable
List<Bird> birds = new ArrayList<Bird>();
//birds.add();
Intent intent = new Intent(Current.this, Transfer.class);
Bundle bundle = new Bundle();
bundle.putParcelableArrayList("Birds", birds);
intent.putExtras(bundle);
startActivity(intent);
这样接收
List<Bird> challenge = this.getIntent().getExtras().getParcelableArrayList("Birds");
考虑将其序列化为字符串,将其作为额外内容放入意图中,并在第二个 activity 中反序列化。
我在 ArrayList 中有一个数据集合,其中包含具有以下数据类型的可序列化模型:-
- 布尔值已检查
- 字符串名称
- 字符串详细信息
我想将这些数据从 First Activity 传递到 Second Activity 并使用带有适配器回调的 listView 适配器编辑 isChecked
的布尔状态。当我回到 First Activity 我想更新 Second Activity 的数据。
我能够在第二个 Activity 中传递数据并更新它,但无法在第一个 Activity 中获取更新的数据。怎么可能达到我的要求,非常感谢任何帮助谢谢
你必须在这里使用startActivityForResult。需要将您的模型数组列表再次传递回 activity 一个。
参考下面的代码实现你想要的。
How to pass data from 2nd activity to 1st activity when pressed back? - android
下面可以这样传
第一种方法
1) 将您的对象 class 实现为可序列化
public class Question implements Serializable
2) 将其放入您的来源 Activity
ArrayList<Question> mQuestionList = new ArrayList<Question>;
mQuestionsList = QuestionBank.getQuestions();
mQuestionList.add(new Question(ops1, choices1));
Intent intent = new Intent(SourceActivity.this, TargetActivity.class);
intent.putExtra("QuestionListExtra", mQuestionList);
3) 将其放入您的目标 Activity
ArrayList<Question> questions = new ArrayList<Question>();
questions = getIntent().getSerializableExtra("QuestionListExtra");
第二种方法
注意你的模特class必须implements Parcelable
List<Bird> birds = new ArrayList<Bird>();
//birds.add();
Intent intent = new Intent(Current.this, Transfer.class);
Bundle bundle = new Bundle();
bundle.putParcelableArrayList("Birds", birds);
intent.putExtras(bundle);
startActivity(intent);
这样接收
List<Bird> challenge = this.getIntent().getExtras().getParcelableArrayList("Birds");
考虑将其序列化为字符串,将其作为额外内容放入意图中,并在第二个 activity 中反序列化。