当前位置: 首页 > news >正文

高端网站建设四川搜索排名优化策划

高端网站建设四川,搜索排名优化策划,wordpress教育插件,百度如何快速收录最近在写一个安卓程序,在程序里需要用到startActivityForResult这个Intent操作关键字,与该关键字有关的还有onActivityResult和setResult。这里对其用法进行一个总结。 三者在API中的形式 //startActivityForResult与startActivity类似,只不…

最近在写一个安卓程序,在程序里需要用到startActivityForResult这个Intent操作关键字,与该关键字有关的还有onActivityResult和setResult。这里对其用法进行一个总结。

三者在API中的形式

//startActivityForResult与startActivity类似,只不过该方法可将方法打开新的Activity,新的Activity 关闭后会向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requestCode, int resultCode, Intent data)方法。
startActivityForResult(Intent intent, int requestCode)
onActivityResult(int requestCode, int resultCode, Intent data)
setResult(int resultCode, Intent data)

三者组合的作用

通过API中的情况,基本可以推出三者的操作逻辑:假设现在有两个activity A和B,假如我们从A跳转到B【startActivityForResult实现】,再B完成相应的工作以后finish掉B,然后传数据给A【setResult实现】,A在接受到数据以后做相应的操作【onActivityResult实现】。其操作逻辑可以用以下代码来表示:

A//启动B
Intent intent = new Intent();
intent.setClass(A.this, B.class);
//1是我们自己定义常量,用于标注由A->B这个活动,对应下面使用到的onActivityResult中的requestCode
startActivityForResult(intent, 1);
B//do something
//此方法中的 1 表示onActivityResult的resultCode,一般也用 RESULT_OK(1)和RESULT_CANCELED(0)表示,data一般为 Intent类型的数据,也可以为 null
setResult(1, data);
finish();

然后由活动B再返回A执行onActivityResult方法。

代码示例

ActivityA.Java中的代码:

button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent = new Intent("com.example.activitytest.ACTTON_START");startActivityForResult(intent,1);//打开活动B}});

ActivityB.java代码

在活动B中用 setResult 方法设置好要返回的结果,setResult()接收两个参数,第一个是活动返回处理结果,一般只是用RESULT_OK和RESULT_CANCELED,另一个这是将带有数据的Intent传递回去。

button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent = new Intent();intent.putExtra("data_return","测试一下");//要返回的结果setResult(RESULT_OK,intent);finish();//销毁活动B}});

在活动B被销毁后 ,会回调上一个活动(即活动A)的onActivityResult()方法(想要在活动A中获取传递的结果,就需要覆写该方法)。

@Override   //                        请求码          处理结果          带返回数据的Intent                  protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {if(data!=null){switch (requestCode){case 1 :if(resultCode == RESULT_OK){String returnData = data.getStringExtra("data_return");Log.d("MainActivity",returnData);}break;default:}}else{return ;}

这样在活动B被销毁后,就会回到活动A,获取到活动B返回的数据了。但在用户如果在活动B并没有定义按钮button2,而是按下Back按键,这时候在 ActivityB.java中覆写 onBackPressed()方法。

            @Overridepublic void onBackPressed() {Intent intent = new Intent();intent.putExtra("data_return","测试一下");setResult(RESULT_OK,intent);finish();}});

需要注意的是,应该关注到在返回 ActivityA.java 时,onActivityResult中 需要判断 data 与 null 的关系,这样子有助于程序的稳健性。

http://www.yayakq.cn/news/925522/

相关文章:

  • 图门市建设局网站photoshop下载手机版
  • 个人网站logo需要备案吗房屋在线设计工具
  • 购物网站设计说明wordpress添加直达链接
  • 网站建设工作室是干嘛的固安建站公司
  • 徐州网站二次开发校园网站建设的需求分析
  • 从化营销网站建设哪个网站做电子请帖好
  • 福建省住房和城乡建设厅门户网站佛山网站建设专家
  • com都有哪些网站珠海住建网站
  • 做图网站有哪些如何看网站有没有备案
  • 建网站保定最新免费网站源码
  • 西安有哪些做网站的公司好实用网站建设
  • 忻州网站建设网站推广wordpress不用ftp下载文件
  • 搜索公司信息的网站网站建设如何维护
  • 新手学做网站手机怎样做班级网站
  • 做最好的win7系统下载网站利用ionic做的网站
  • 可以做手机网页的网站南宁seo排名优化
  • 餐饮招商加盟网站建设费用wordpress工具
  • 怎样做阿里巴巴网站的店招seo做子网站
  • 网站模板下载之后如何修改备案 多个网站
  • 南京网站制作系统企业管理培训课程网课
  • 学校门户网站建设的意义腾讯体育
  • 大型门户网站设计唐河永琚建筑公司网站
  • 可视化建站网站源码泰安seo公司
  • 网站域名中文后缀appui设计图
  • 做网站筹钱需要多少钱网站建设维保合同
  • 江苏大都建设工程有限公司网站青岛网页搜索排名提升
  • 网站备案号查询网网上商城制作需要多少钱
  • 珠海网站制作设计方案公司推广策划
  • 男直接做的视频网站qq群排名优化
  • Crystal wordpress朝阳网站优化