多语言展示
当前在线:789今日阅读:23今日分享:31

安卓应用开发实战:[9]Activity返回值

一个Activity激活另一个Activity的时候可以传送数据到另一个Activity,同理,当另一个Activity结束时,可以返回数据到激活它的Activity中。
工具/原料

eclipse

方法/步骤
1

激活端:和一般激活另一个Activity的方法不一样的是,激活函数应该用startActivityForResult(intent, requestCode),其中requestCode为请求码,如果多个地方调用了这个函数,就是可以通过设置不同的请求码区分是那个地方的调用的这个方法,当只调用了一次,请求码失去意义。

2

被激活端:首先调用方法Intent intent = getIntent()获得意图,如果接收数据时已经获得意图,则不用重新获得。然后把数据put到意图中再调用setResult(resultCode,intent)方法设置好返回的数据。其中resultCode为结果码。finish()方法用于结束当前获得,获得启动这个Activity的Activity。

3

被激活端:程序可能在不同的地方结束这个活动,而区分在哪里结束的就是通过设置不同的结果码resultCode。

4

激活端:要处理返回的数据,必须在激活端重写onActivityResult(int requestCode, int resultCode, Intent data),被激活端结束返回到激活端就会自动调用这个方法,通过这个方法可以获得请求码、结果码、数据(Intent)。

5

按返回键出错处理:按下返回键默认是不返回数据的,所以上面的程序运行在被激活端时按下返回键就会出错,因为onActivityResult(int requestCode, int resultCode, Intent data)方法没有数据处理。在被激活端重写返回键默认的处理方法就可以解决。

6

运行效果图:图1为被激活活动,图2为单击发送按钮后返回激活活动,图3为单击取消按钮或者按下返回键后返回激活界面。

推荐信息