【问题标题】:How to pass ArrayList<File> object from one Activity to another Activity using Intent?如何使用 Intent 将 ArrayList<File> 对象从一个 Activity 传递到另一个 Activity?
【发布时间】:2016-03-04 06:20:25
【问题描述】:

我有一个 ArrayList 文档,我想将此文件发送到另一个 Activity。但是如何在 SecondActivity 中获取这个值

我尝试的是 在第一个活动中

 private ArrayList<File> documents;
Intent selectLabInt = new Intent(FirstActivity.this, SecondActivity.class);

 selectLabInt.putExtra("patient_name", patientNameStr);
 selectLabInt.putExtra("referal_notes", referalNotesStr);
 selectLabInt.putExtra("fileList",documents);

 startActivity(selectLabInt);

【问题讨论】:

  • patient_name,referal_notes,fileList的数据类型是什么?
  • 字符串类型
  • @SabyaSachi File 类是否与java.io.File 相同?
  • 所以你想传递字符串类型的数据或ArrayList的对象,即文档?

标签: android android-intent arraylist


【解决方案1】:

如果您的File 是可序列化的,那么您可以像这样传递ArrayList

在发送活动中:

ArrayList<File> documents= new ArrayList<File>();
intent.putExtra("documents", documents);

在接收Activity中:

ArrayList<File> documents = (ArrayList<File>)getIntent().getSerializableExtra("documents");

【讨论】:

  • 文件类内部实现了Serializable。
【解决方案2】:

您需要使 File 类 parcelable 以便您可以通过 putParcelable 传递该类的数组列表。

这里是相同https://stackoverflow.com/a/6681784/942224的示例

【讨论】:

  • 文件类内部实现了Serializable。
  • 是的,你需要遵循 jas 的回答
猜你喜欢
  • 2020-10-19
  • 2015-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多