当前位置: 代码迷 >> Android >> 怎么让后面的activity给前面的activity传数据
  详细解决方案

怎么让后面的activity给前面的activity传数据

热度:43   发布时间:2016-04-28 07:22:06.0
如何让后面的activity给前面的activity传数据?
在两个activity之间传数据有了很多介绍,在跳转时用putExtras将数据压进去,在新的activity的onCreate接收即可,大多数的资料是这样说的。

我的需求稍稍不一样的地方,在跳转到新的activity后,原来的activity还在里面,在新的activity使用finish后就返回老的activity,从onResume函数看到回来了,无需通过跳转来完成,所以问题就是,新的activity如何给老的activity传数据呢?


------解决方案--------------------
startActivityForResult很方便
------解决方案--------------------
楼主,使用startActivityForResult()来启动新的activity,靠谱方便,当新的finish掉之后,将数据放到intent里,setResult(int resultCode, Intent data),然后在老的activity里面重写onActivityResult方法:
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent result) {
        if (resultCode != RESULT_OK) {
            finish();
            return;
        }
    }

里面的result就是在新的activity中设置的data传递过来的。

------解决方案--------------------
A:

Intent intent = new Intent();
intent.setClass(B.class);
startActivityForResult(intent,request_code);
 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent result) {
        if (resultCode != RESULT_OK) {
         String a = result.getStringExtra(key);
                }
    }

B:
Intent intent = new Intent();
intent.putStringExtra(key,value);
setResult(RESULT_OK,intent);
finish();
------解决方案--------------------
我会告诉你,在application中定义全局变量去set和get数据,非常方便,又不用长期存储,何必存什么文件数据库的。
  相关解决方案