Activity间传递数据、生命周期和事件
来源:互联网 发布:mac系统硬盘对拷 编辑:程序博客网 时间:2024/04/28 01:23
Activity间传递数据、生命周期和事件Activity间传递数据打开一个activity关闭之后,返回数据
Activity1:
public void open(View v){
Intent intent = newIntent(this,OtherActivity.class);
//requestCode :请求码(区分请求的来源)
startActivityForResult(intent, 100);
}
protected void onActivityResult(intrequestCode, int resultCode, Intent data) {
//TODO Auto-generated method stub
super.onActivityResult(requestCode,resultCode, data);
if(requestCode== 100 && resultCode == 200 && data != null){
String info =data.getStringExtra("info");
et_info.setText(info);
}
Activity2:
public void close(View v){
String info =et_info.getText().toString();
Intent data = new Intent();
data.putExtra("info", info);
//resultCode 结果码(区分返回的结果)
setResult(200, data);
//关闭Activity
finish();
}
Activity生命周期1 完整生命周期
onCreate()
--> onStart()
--> onResume()
可以在手机上看见activity
---> onPause()
--> onStop()
看不见了
---> onDestory()
销毁了
2 前台生命周期
onstart() ---> onStop()之间进行切换
onCreate() --> onStart() --> onResume()
现在有一个activity完全覆盖
onPause() ----> onStop()
如果上面的activity关闭
onRestart() ---> onStart() --> onResume()
3 可视生命周期
onResume() ---> onPause()之间进行切换
onCreate() --> onStart() --> onResume()
现在有一个activity没有完全覆盖
onPause()
如果上面的activity关闭
onResume()
临时数据临时数据:应用程序出现异常。我们需要保存的数据。
//保存临时数据
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
outState.putInt("page", 88);
}
//用来恢复数据
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
int page = savedInstanceState.getInt("page");
Log.i("i","page:"+page);
}
横竖屏问题ctrl+ F12 可以让模拟器横竖屏切换
竖屏---》横屏
先杀死一个Activity,再创建一个Activity
横屏---》竖屏
先杀死一个Activity,再创建一个Activity,
再杀死一个Activity,再创建一个Activity
由于:android的键盘导致
如果要变成一样:
<activity
android:label="@string/app_name"
android:name=".MainActivity"
android:configChanges="keyboardHidden">
此时会创建一个Activity实例
我不想创建。
<activity
android:label="@string/app_name"
android:name=".MainActivity"
android:configChanges="keyboardHidden|orientation">
此时不会创建实例
我想横屏和竖屏显示不一样。
//当切屏幕的时候触发
public voidonConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
int orientation = newConfig.orientation;
//竖屏
if(orientation ==Configuration.ORIENTATION_PORTRAIT){
setContentView(R.layout.main);// 切换视图
}else{
setContentView(R.layout.other);
}
}
事件//触摸事件
onTouchEvent()
//键盘按下
onKeyDown()
//键盘弹起
onKeyUp()
//键盘长按
onKeyLongPresss()
//键盘重复点击
onKeyMultiple()
activity返回时,如何返回数据?
Activity1:
1startActivityForResult(intent) // 请求
3onActivityResult() // 回调拿到反馈数据
Activity2:
2setResult()//反馈
activity生命周期有哪些状态,有哪些方法?
onCreate();
onStart();-------------
onResume();
onPause();
onStop(); ---------onReStart();
onDestroy();
异常情况下保存临时数据的方法?
onSaveInstanceState(); // 保存数据
onRestoreInstanceState(); // 读取数据
常用事件有哪些?
onKeyUp();
onKeyDown();
onKeyLongPress();
onKeyMultiple();
onTouchEvent();
- Activity间传递数据、生命周期和事件
- 6、Activity生命周期、Activity间数据传递
- Activity生命周期和Activity页面之间数据传递
- Android之Activity的生命周期和Activity间的跳转和数据传递
- Android之Activity的生命周期和Activity间的切换和数据传递(二)
- Android之Activity的生命周期和Activity间的跳转和数据传递
- Activity生命周期及数据传递
- Activity生命周期学习和简单Intent数据传递
- Activity之间传递数据--生命周期的bug
- activity的生命周期及传递数据
- Activity生命周期,数据传递,启动模式详解
- Activity生命周期,启动Activity,以及Activity之间数据的传递
- 传智播客--3G开发之添加多Activity和数据传递,Activity生命周期,广播,服务
- Activity间跳转和传递数据
- Activity间传递数据
- activity间传递数据
- Activity间传递数据
- Activity间传递数据
- 黑幕背后的Autorelease
- selector 选择器
- 关于PHP传递参数的问题
- 暂更几天
- 常用对话框、自定义对话框
- Activity间传递数据、生命周期和事件
- QMX简介
- 深入探讨C++中的引用
- 第十周项目六:贪财的富翁
- Vcam项目下载及编译
- TOMCAT服务器配置域名
- 2014年全球最具影响力游戏市场报告Top 10
- 稀疏和L1正规化(Sparsity and Some Basics of L1 Regularization )
- Warning: ftp_put() 问题的解决办法之被动模式