android之旅13 Activity数据传递与启动模式
来源:互联网 发布:淘宝网解除绑定支付宝 编辑:程序博客网 时间:2024/06/06 12:13
隐式传递数据
public void onCreate(){ Intent intent = getIntent(); Uri uri= intent.getData(); uri.toString();}
显式传递数据
//发送public void click(View v){ //。。。。获取界面上的string1、string2 Intent intent = new Intent(this, SecondActivity.class); intent.putExtra("name1",string1); intent.putExtra("name2",string2); startActivity(intent);//第二种方式 Bundle bundle = new Bundle(); bundle.putString("name1",string1); bundle.puString("name2",string2); intent.putExtras(bundle); startActivity(intent);}//接收public void onCreate(){ Intent intent = getIntent(); String name1 = intent.getStringExtra("name1"); String name2 = intent.getStringExtra("name2");//第二种接收 Bundle bundle = intent.getExtras(); String name1 = bundle.getString("name1");}
返回Activity的时候传送数据
//第一个Activity启动的时候要调用startActivityForResultpublic void onClick(View v){ Intent intent = new Intent(this, SecondActivity.class); startActivityForResult(intent, 0);//0为自定义的请求码}
- ListView有点击事件和条目点击事件
//第二个Activity启动的代码,发送数据public void onCreate(){ //获取界面上的ListVew对象lv。。。。 lv.setOnItemClickListener(new OnItemClickListener(){ public void onClick(AdapterView<?> v,View v,int p,int i){ //p就是点击的条目位置 Intent data = new Intent(); data.putExtra("string", strs[p]);//str字符串数组 setResult(0,data);//会把data传递给Caller finish();//销毁当前的Activity } });}
//父类方法,当应该要返回数据的第二个Activity被销毁时,方法调用protected void onActivityResult(int requestCode, int resultCode, Intent data){// requestCode就是本Activity的请求码// resultCode是第二个Activity的setResult的返回码 super.onActivityResult(requestCode, resultCode, data); String str = data.getStringExtra("string");}
四种启动模式
- 默认的标准模式:standard,有一个就创建一个,塞入栈
- singleTop:栈顶只要是自己,再打开自己就不会再新生成一个Activity
- singleTask:只创建一个Activity实例,再打开这个Activity栈顶上其他Activity会被干掉直到出现这个Activity
- singleInstance:该Activity会额外创建一个属于自己的栈,保存自己的Activity。再次再创建只是将这个Activity放到前台,对应的栈也会变成前台栈,app其他的Activity的栈会变成后台栈。
- 单例模式的Activity只有一个,到不到前台而已。当多个Task调用单例模式的Activity时候,单例模式只有一个。但singleTask会在每个Task中都有一个。这个是两者最大的不同。
- 每个APP自己维护自己的一个Activity栈,界面上出现一个Activity就会将这个Activity塞进栈里面
<Activity android::launchMode="singleTop"></Activity>
0 0
- android之旅13 Activity数据传递与启动模式
- Intent传递数据与Activity启动模式singleTask的关系。
- Android之Activity启动和结束方法-传递结果数据
- Activity之间的数据传递、启动模式
- Activity生命周期,数据传递,启动模式详解
- Android回调机制之Activity与DialogFragment数据传递
- Android Activity之启动模式
- Android教程 -04 启动其它Activity,静态工厂设计模式传递数据
- Android-Activity生命周期-4种启动模式-数据传递-显式隐式跳转
- Android 进阶之Activity生命周期与启动模式
- Android 组件Activity(一)之周期与启动模式
- Android-Activity与Fragment之间传递数据
- Android activity与service传递数据
- android Activity数据传递onActivityResult与setResut
- Activity与Fragment数据传递之Activity之间获取数据
- android开发之 Activity之间数据传递
- Android 开发之Activity之间传递数据
- Android 开发之activity之间传递数据
- Toast和Looper、Handler消息循环机制
- 2015-12-28 工作笔记-1
- 使用jquery改变元素在页面的位置--offsetTop,screenTop,clientTop关系及理解
- GDB调试基础
- Linux 配置服务器
- android之旅13 Activity数据传递与启动模式
- Unity3D 获取主窗口句柄
- Android APK反编译就这么简单 详解(附图)
- 控件的基本属性
- IntelliJ IDEA安装与配置
- 使用Rational Rose进行用例图和活动图
- one problems:start scrapy for EI Capitan
- centos mysql 安装及配置
- C++ 模板详解(一)