Android 开发之 Activity 之间的相互调用
2010-03-27 15:29:00 来源:WEB开发网今天主要学习了,多个Activity之间的相互调用,以及意图的使用:
多个Activity之间的相互调用:
新建一个继承Activity的类,在功能清单AndroidManifest.xml文件中添加进上面Activity配置代码,
打开新的Activity:startActivity(new Intent(MainActivity.this, NewActivity.class));
打开新的Activity,并传递若干个参数给它:
Intent intent = new Intent(MainActivity.this, NewActivity.class)
Bundle bundle = new Bundle();//该类用作携带数据
bundle.putString("name", "传智播客");
bundle.putInt("age", 4);
intent.putExtras(bundle);//附带上额外的数据
startActivity(intent);
在另一个Activity里面接收参数:
Bundle bundle = this. getIntent_r(). getExtras_r();
String name = bundle. getString_r("name");
int age = bundle. getInt_r("age");
Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值。相对于Map,它提供了各种常用类型的putXxx()/
getXxx_r()方法,如:putString()/ getString_r()和putInt()/
getInt_r(),putXxx()用于往Bundle对象放入数据,
getXxx_r()方法用于从Bundle对象里获取数据。Bundle的内部实际上是使用了HashMap
请求码的作用:
使用startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,我们需要为startActivityForResult()方法传入一个请求码(第二个参数)。请求码的值是根据业务需要由自已设定,用于标识请求来源。例如:一个Activity有两个按钮,点击这两个按钮都会打开同一个Activity,不管是那个按钮打开新Activity,当这个新Activity关闭后,系统都会调用前面Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法。在onActivityResult()方法如果需要知道新Activity是由那个按钮打开的,并且要做出相应的业务处理。
结果码的作用:
在一个Activity中,可能会使用startActivityForResult()方法打开多个不同的Activity处理不同的业务,当这些新Activity关闭后,系统都会调用前面Activity的onActivityResult(int
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
赞助商链接