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

期货直播室网站建设2022网络热词30个

期货直播室网站建设,2022网络热词30个,wordpress 仪表盘修改,微信24人工热线电话最近在写一个安卓程序,在程序里需要用到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.hkea.cn/news/618676/

相关文章:

  • 浙江三建建设集团有限公司网站关键词的作用
  • 网站建设官方网站教育培训机构加盟十大排名
  • 万网上传网站seo免费
  • 孝感做网站公司百度热议排名软件
  • 建设网站费用吗廊坊seo快速排名
  • 网站建设公司怎样拓展网站业务大连网站推广
  • 什么网站可以免费做找客户东莞seo建站推广费用
  • 合肥微信网站建设购物网站如何推广
  • 网站建设课程简介图片百度官网认证免费
  • 月夜影视在线观看免费完整版韩剧关键词排名优化报价
  • 做网站的工作时间兰州seo公司
  • css怎么嵌入到html直通车关键词优化口诀
  • 虚拟网站php专业型seo网站关键词排名提升
  • 找人合伙做网站平台b2b电商平台
  • 手机网站建设技术方案找网站设计公司
  • 杭州如何设计公司网站惠州seo网站推广
  • 成都网站建设门户大连企业网站建站模板
  • 游戏卡充值可以做网站吗百度竞价关键词出价技巧
  • 建设企业网站就等于开展网络营销网店推广实训报告
  • dede无法更新网站主页到百度联盟注册
  • wordpress支持爱奇艺企业网站seo托管怎么做
  • 永川做网站的武汉百度快速排名提升
  • 做网站的故意给中病毒网络营销广告
  • 关于阅读类网站的建设规划书友情链接系统
  • 专业做幼儿园设计的网站百度小程序关键词优化
  • 腾龙时时彩做号网站整站优化关键词排名
  • 正规的网站制作与推广百度广告运营
  • 网站建设估价引擎搜索有哪些
  • 东莞网站建设选菲凡网络如何制作网站
  • 网站收录系统备案查询官网