博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Activity.startActivityForResult(Intent ,int )使用
阅读量:6458 次
发布时间:2019-06-23

本文共 1568 字,大约阅读时间需要 5 分钟。

hot3.png

    起初是在启动后的Activity中的onPause()中调用setResult(int ,Intent)来设置返回的Intent,但是在返回后的Activity中的onActivityResult(int,int,Intent)得到的Intent是空值NULL。

这是启动代码

findViewById(R.id.button1).setOnClickListener(new OnClickListener() {    @Override    public void onClick(View v) {		// TODO Auto-generated method stub	Intent intent = new Intent(MainActivity.this, MainActivity2.class);	Bundle sendBundle = new Bundle();	sendBundle.putCharSequence("str", "From MainActivity.class");	intent.putExtra("sendBundle", sendBundle);	startActivityForResult(intent,0x1001);    }});Log.i(TAG, "onCreated");
protected void onActivityResult(int requestCode, int resultCode, Intent data) {		// TODO Auto-generated method stub		super.onActivityResult(requestCode, resultCode, data);		if(data!=null){			String str = data.getStringExtra("return");			Log.i(TAG,str+" "+requestCode+" "+resultCode);			if(resultCode==0x1001){				TextView textView = (TextView)findViewById(R.id.textView1);				textView.setText(str);			}		}else{			Log.i(TAG,"data is null");		}	}

上面是结果返回的回调方法重写

下面是错误的setResult(int ,Intent)代码

protected void onPause(){    Intent intent = new Intent();    intent.putExtra("return", "Return me");    setResult(0x1001, intent);}

    在找到原因后,将上面的代码修改到onCreate(Bundle)中,增加一个Button并添加onClick(View)

findViewById(R.id.button2).setOnClickListener(new OnClickListener(){    public void onClick(View v){	Intent intent = new Intent();	intent.putExtra("return", "Return me");	setResult(0x1001, intent);	finish();  //这里很关键,只有这样,才能把Intent传回到启动它的Activity中,并关闭当前的Activity	}});

转载于:https://my.oschina.net/asd1614/blog/495642

你可能感兴趣的文章
bzoj4589 Hard Nim
查看>>
java实现pdf旋转_基于Java实现PDF文本旋转倾斜
查看>>
python time库3.8_python3中datetime库,time库以及pandas中的时间函数区别与详解
查看>>
贪吃蛇java程序简化版_JAVA简版贪吃蛇
查看>>
poi java web_WebPOI JavaWeb 项目 导出excel表格(.xls) Develop 238万源代码下载- www.pudn.com...
查看>>
oracle报1405,【案例】Oracle报错ORA-15054 asm diskgroup无法mount的解决办法
查看>>
linux 脚本map,Linux Shell Map的用法详解
查看>>
如何在linux系统下配置共享文件夹,如何在windows和Linux系统之间共享文件夹.doc
查看>>
linux操作系统加固软件,系统安全:教你Linux操作系统的安全加固
查看>>
linux中yum源安装dhcp,24.Linux系统下动态网络源部署方法(dhcpd)
查看>>
ASP.NET性能优化之分布式Session
查看>>
TaffyDB Introduction
查看>>
转载:《TypeScript 中文入门教程》 16、Symbols
查看>>
JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记4
查看>>
C#技术------垃圾回收机制(GC)
查看>>
漫谈并发编程(三):共享受限资源
查看>>
【转】github如何删除一个仓库
查看>>
Linux系统编程——进程调度浅析
查看>>
大数据Lambda架构
查看>>
openCV_java 图像二值化
查看>>