在两个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数据,非常方便,又不用长期存储,何必存什么文件数据库的。