如何通过对象的活动? [英] How to pass object to an activity?

查看:148
本文介绍了如何通过对象的活动?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个活动,NewTransferMyOwn.java和FromAccount.java

I have two activities, NewTransferMyOwn.java and FromAccount.java

当我从NewTransferMyOwn.java到FromAccount.java,我写code如下

When I go from NewTransferMyOwn.java to FromAccount.java, I do write code as following

Intent i = new Intent(NewTransferMyOwn.this, FromAccount.class);
startActivityForResult(i, FROM_ACCOUNT);

当我来自FromAccount.java到NewT​​ransferMyOwn.java回来的话,我想通过类的一个完整的对象的语句

When I do come back from FromAccount.java to NewTransferMyOwn.java, then I want to pass a complete object of class Statement

我不写code为

Statement st = ItemArray.get(arg2);//ItemArray is ArrayList<Statement>, arg2 is int
Intent intent = new Intent(FromAccount.this,NewTransferMyOwn.class).putExtra("myCustomerObj",st);

我得到的错误如下的putExtra,

I do get error as following on putExtra,

更改为getIntExtra

像我一样,有再铸日至INT,有什么问题在这里,我怎么可以通过Statement对象向回活性的研究?

as I do, there is again casting st to int, what is issue over here, how can I pass Statement object towards back to acitivity?

推荐答案

您还可以通过 Serializable接口实现自定义的类,并通过自定义对象,

You can also implement your custom class by Serializable and pass the custom Object,

public class MyCustomClass implements Serializable
{
  // getter and setters
}

再通过自定义对象的意图。

And then pass the Custom Object with the Intent.

intent.putExtra("myobj",customObj);

要取回对象

Custom custom = (Custom) data.getSerializableExtra("myobj");

更新:

要在您使用通过自定义对象的previous活动 startActivityForResult

To pass your custom Object to the previous Activity while you are using startActivityForResult

Intent data = new Intent();
Custom value = new Custom();
value.setName("StackOverflow");
data.putExtra("myobj", value);
setResult(Activity.RESULT_OK, data);
finish();

要检索的自定义对象上的previous活动

To retrieve the custom Object on the Previous Activity

if(requestCode == MyRequestCode){
     if(resultCode == Activity.RESULT_OK){
         Custom custom = (Custom) data.getSerializableExtra("myobj");
         Log.d("My data", custom.getName()) ;
         finish();
     }
 }

这篇关于如何通过对象的活动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆