从意图返回结果,就好比我们在一个网站上,打开一个登录窗口,输入用户名密码之后,点击确定,然后主界面会反馈给用户登陆是否成功,如果不成功就会显示从登陆界面反馈回来的错误信息。我们这一节要做的便是,从第二个界面,输入一个用户名,然后反馈给第一个界面,这种方法就叫做从意图返回结果。
紧接着上一节的代码,我们对代码增加如下部分,具体可以参考书上所示:
1:我们在SecondActivity.xml的布局文件里面,对第二个界面,增加一个文本框以及一个按钮; 然后我们对按钮增加一个处理函数onClick();这个函数获取我们第二个界面的文本框内容,然后通过意图,把结果发出去,代码按下图所示: 2:我们在第一个界面,增加对第二个界面的类似结果监听的机制,点击时间启动Activity,并且等待结果,然后当第二个界面finish(),之后,通过重写父类的onActivityResult()方法来获取从第二个界面传来的数据;
3:下面是演示的效果:
整个意图结果返回的原理其实还是比较简单的:
1:调用一个活动并等待从此活动返回结果,需要调用startActivityForResult()方法;
2:被调活动可以通过setData()方法,使用一个Intent对象来返回数据;
3:调用活动必须实现onActivityResult()方法来接收返回数据。
学完本节,应该掌握:
1:如何通过意图返回结果;
2:Android下界面文本框的内容获取,通过下面代码实现:
EditText txt_username = (EditText) findViewById(R.id.txt_username);
3:编程的细节体会;
文章的脚注信息由WordPress的wp-posturl插件自动生成