我试图将一个arraylist传递给我的父母活动
这是简单的代码.
private ArrayList<Receipt> receipts = new ArrayList<Receipt>();
Intent data = new Intent();
data. // what to do here?
setResult(RESULT_OK, data);
//************************************
Run Code Online (Sandbox Code Playgroud)
这是基本收据类
public class Receipt {
public String referenceNo;
public byte[] image;
public String comments;
public Date createdOn;
public Date updatedOn;
Run Code Online (Sandbox Code Playgroud)
告诉我如何在我的意图中添加它以及如何在父活动中将其检索回来
onActivityResult(final int requestCode, int resultCode, final Intent data)
Run Code Online (Sandbox Code Playgroud)
您可以使用data.putExtra()/bundle.putSerializable()将自定义对象放入 Bundle/Intent 中,但是,您必须使您的类 Receipt 实现Serializable(只需放在implements Serializable类名后面,这就是这样一个简单的类的全部内容。然后将其读回您)使用getSerializable()。
注意:我不认为Date-class 是可序列化的,您可能想要替换那些具有以毫秒为单位的长表示时间的类(您可以使用Date.getTime()它)。
例子:
public class Receipt implements Serializable{
public String referenceNo;
public byte[] image;
public String comments;
public long createdOn;
public long updatedOn;
//...
}
//Put the list in the intent
List<Receipt> list = ...
Intent data = new Intent();
data.putExtra("tag", list);
//Read the list from the intent:
list = (List<Receipt>) data.getSerializableExtra("tag");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1600 次 |
| 最近记录: |