activity互相传值报错。。

cb1156 2011-11-16 11:23:24
错误提示
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=10, result=0, data=null} to activity {包名/类名}: java.lang.NullPointerException

启动新ACTICITY的代码
Intent intent=new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//增加flag
intent.setClass(PhotoAttaActivity.this, PhotographActivity.class);
//設定傳送參數
Bundle bundle = new Bundle();
bundle.putString("name1", "value1");
intent.putExtras(bundle); //將參數放入intent

PhotoAttaActivity.this.startActivityForResult(intent,10);

接收返回部分的代码
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
String result=data.getExtras().getString("result");
Toast.makeText(PhotoAttaActivity.this, result+"fewfewfwef", Toast.LENGTH_SHORT);
}

新ACTIVITY在关闭事件中的代码
Intent intent2=this.getIntent();
intent2.putExtra("result", (result.length()==0)?result:result.substring(1));
setResult(Activity.RESULT_OK, intent2);//
this.finish();
...全文
2819 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Loli_Con 2014-04-26
  • 打赏
  • 举报
回复
super.onActivityResult(requestCode, resultCode, data); if(data!=null){ ........................ } 这样也可以。就是说当返回data不为空时才可以用data.什么的
Zhongyi_Li 2013-06-13
  • 打赏
  • 举报
回复
楼主,怎么解决的呢?我也遇到同样的问题,分享一下吧!着急。
安卓android 2011-12-14
  • 打赏
  • 举报
回复
改成什么模式了?
贪睡的兔子 2011-12-12
  • 打赏
  • 举报
回复
是的 我也碰到过[Quote=引用 8 楼 cb1156 的回复:]
singleinstance模式下
onActivityResult不起作用
[/Quote]
cb1156 2011-12-12
  • 打赏
  • 举报
回复

singleinstance模式下
onActivityResult不起作用
j_f0001 2011-12-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yangmaolinpl 的回复:]
String result=data.getExtras().getString("result");

改为:
String result=data.getExtras().getString("name1");
[/Quote]正解
Agoni_tt 2011-12-10
  • 打赏
  • 举报
回复
好像是参数找不到:String result=data.getExtras().getString("name1");
tangqing0417 2011-12-10
  • 打赏
  • 举报
回复
怎么解决的。??我也需要传值。老是接受不到。把你代码贴出来参考一下。谢谢!!!!
cb1156 2011-11-16
  • 打赏
  • 举报
回复
我在打开新的ACTIVITY时就报错了
sadyYang 2011-11-16
  • 打赏
  • 举报
回复
String result=data.getExtras().getString("result");

改为:
String result=data.getExtras().getString("name1");
cb1156 2011-11-16
  • 打赏
  • 举报
回复
解决了。分送你了。
cb1156 2011-11-16
  • 打赏
  • 举报
回复
话说有人解释一下么。。。
最好有DEMO。。。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧