您的位置:首页 > 移动开发 > Android开发

Android(OPhone) 学习笔记 - Intent和Activity(2)

2009-08-19 18:06 661 查看
在前文中,http://labs.chinamobile.com/community/my_blog/103798/24860,我们学习了如何通过Intent启动Activity并传递数据,在本文中,我们要学习如何在启动新的Activity之后,将所取得的数据返回给原来的Activity。本文是我自学Smego的教程(http://www.aidiji.com/viewtopic.php?f=27&t=146)之后改写的,由于其代码不能运行,部分地方已做修改。这段代码的目的是通过运行一个设置颜色的Activity来设置主窗口的颜色,完成颜色的参数传递。

首先我们绘制主窗口,其代码如下:



画出后结果如图:



这个View需要我们在主程序的界面中添加:
DrawView dv = new DrawView(this);
layout.addView(dv, para);

1.在主程序中,在完成界面布置后我们首先要添加按钮响应:



intent的初始化和前文相同,但是这里用到了函数:startActivityForResult,这是个可以获得返回值的函数。

2.添加返回后的值的分析和响应
有函数:protected void onActivityResult(int requestCode, int resultCode, Intent data)
它的返回值有:RESULT_CANCELED, RESULT_OK,RESULT_FIRST_USER,最后一个是自定义的。



该函数将返回值进行分析,当返回OK时,再提取其中的数据。根据数据来设置View的颜色。

3.既然有返回值,我们看看在按钮设置界面中,值是如何返回的。
界面如下:



在rgActivity.java中添加按钮响应:



这是一个标准的设置返回值的函数,setresult和finish。

点击Blue后,出现变化:



点击Yellow后,出现变化:



细心的读者发现程序的标题变了,那是因为我们在 onActivityResult函数中有setTitle的函数。

当然AndroidManifest.xml里面需要加入新的activity描述,在前一个activity之后加入:
<activity android:name=".rgActivity"></activity>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ophone android user