天天看点

Android开发10——Activity的跳转与传值_显示意图(intent)的应用

activity跳转与传值,主要是通过intent类,intent的作用是激活组件和附带数据。

intent可以激活activity,服务,广播三类组件。

本博文讲的是显示意图激活activity组件。所谓显示意图就是在activity的激活时,显示指出了需要激活的activity的名字。

一、activity跳转

方法一

intent intent = new intent(a.this, b.class); 

startactivity(intent)

方法二

intent intent = new intent();

intent.setclass(a.this, b.class);

startactivity(intent);

实现从a跳转到b(a、b均继承自activity)

二、传递数据

activity a 传递数据

intent.putextra("name", "xy");

intent.putextra("age", 22);

bundle bundle = new bundle();

bundle.putstring("name", "xy");

bundle.putint("age", 22);

intent.putextras(bundle);

activity b 接收数据

// 获取参数1

intent intent = this.getintent();

string name = intent.getstringextra("name");

int age = intent.getintextra("age", 22); // 缺省值为22

// 获取参数2

bundle bundle = intent.getextras();

string name2 = bundle.getstring("name");

int age2 = bundle.getint("age", 22);

两种获取参数方式均可,并不是和传参1,2方法一一对应

三、activity返回值

跳转后前一个activity已经被destroy了。如若要返回并显示数据,就必须将前一个activity再次唤醒,同时调用某个方法来获取并显示数据。做法如下

1.从a页面跳转到b页面时不可使用startactivity()方法,而要使用startactivityforresult()方法

2.在a页面的activity中,需要重写onactivityresult(int requestcode, int resultcode, intent data)方法

activity a

activity b

四、总结

以上采用的意图intent均是显示意图。

继续阅读