activity之间參数传递&&获取activity返回值&&activity生命周期
2015-12-29 16:50
337 查看
Activity之间參数传递
A activity想将參数传给B activity时能够利用Intent将消息带过去Intent intent = new Intent(this,BActivity.class); intent.putExtra("xxxx", "xxxx");
数据量多的话能够使用
Bundle bundle = new Bundle(); intent.putExtras(bundle);
获取activity返回值
A activity调用 B activity后获取B activity的返回值B:
Intent data = new Intent(); data.putExtra("name", name setResult(3, data); // 能够把当前的activity给结束掉 finish();
A:
/** * 当被激活的activity 使用完成 销毁的时候 就会运行onActivityresult的方法 */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub System.out.println("结果码为"+ resultCode); super.onActivityResult(requestCode, resultCode, data); if (data != null) { String name = data.getStringExtra("name"); if (requestCode == 1) { et.setText(name); }else if(requestCode == 2){ et2.setText(name); } } }
activity生命周期:
特别的:
当activity渐渐出现时调用OnResume()方法
当activity開始被遮挡但并未全然消失时。调用onPause()方法
若此时原activity被激活则从新调用OnResume()方法
当activity全然不可见是调用onStop()方法
若此时原activity被激活则从新调用OnStart()方法
特别的:当屏幕横竖屏幕切换时:
默认情况下(没有配置android:configChanges属性):
竖屏切横屏,销毁当前Activity之后。创建一个新Activity实例。
横屏切竖屏。销毁当前Activity之后,创建一个新Activity实例,新的Activity实例非常快就被销毁。接着又会创建一个新Activity实例。假设仅仅希望创建一个实例,能够配置android:configChanges="orientation"
<activity android:configChanges="keyboardHidden|orientation" android:theme="@android:style/Theme.Dialog" android:name=".Dmeo2Activity"\> </activity>
当系统将我们的activity异常关闭时:
我们要将一些activity的信息保存起来。方便到时候恢复:
当应用遇到意外情况(如:内存不足、用户直接按Home键)由系统销毁一个Activity时,onSaveInstanceState()会被调用。可是当用户主动去销毁一个Activity时。比如在应用中按返回键,onSaveInstanceState()就不会被调用。
由于在这样的情况下,用户的行为决定了不须要保存Activity的状态。通常onSaveInstanceState()仅仅适合用于保存一些暂时性的状态。而onPause()适合用于数据的持久化保存。
相关文章推荐
- myEclipse相同变量变色设置
- 严重: Error loading WebappClassLoader context:异常的解决方法
- 关于电话号码在IOS下面显示白色的
- Cocos2d-x利用jni调用java层代码
- UGUI Navigation Events
- 关于Echarts中写入标识的markPoint输入文字
- android 6.0 The method sin(float) is undefined for the type FloatMath 报错
- Android编译系统参考手册
- 【探索】无形验证码 —— PoW 算力验证
- ionic cordova 创建自定义项目
- 关于数据库有几个库的,一点笔记
- 换行符在不同系统中切换时修改工具
- linux 之sed命令详解
- 将一个对象的属性值赋给另一个对象的相同的属性 这两个对象必须都符合javaBean的标准
- 图片加载框架
- rsyslogd 日志服务
- OCX控件MSI打包升级方案
- 韦东山开发板QT移植笔记
- MySQL的replace函数的用法
- php无限分类 树状菜单经典代码