activity向上/向下一个页面发送数据
向下一个活动发送数据
一般使用bundle(捆)
使用方法
创建并准备发送数据
//这里是上一个页面
Intent intent = new Intent(this,class); //新建意图 Bundle bundle = new Bundle(); //新建一个包裹 bundle.putString("为该捆命名",xx.getText().toString()); //将内容写进包裹并为其命名 intent.putExtras(bundle) //将包裹放入意图
接收数据
//这里是下一个页面的OnCreate
Bundle bundle = getIntent().getExtras();
String desc = bundle.getSting("xx");
XX.setText(desc);
向上一个活动发送数据
1-3为上一个页面
1.将待发出的消息放在tv_request上面显示
2给btn_request注册一个监听事件
3注册registerForActivityResult得到一个注册器register.launch(intent);
4.在下一个页面中的按钮使用后将设置的一些数据携带回上一个页面,将自己finish
//setResult(Activity.RESULT_OK,intent);
5.回调上一个页面,将会执行回调函数内容
//这里是上一个页面
import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
//注册一个回调
registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
//这里是回调方法 下面将详细描写回调内容
}
}); //var定义intentActivityResultLauncher
//然后将intentActivityResultLauncher改为全局变量 alt ctrl f
private ActivityResultLauncher<Intent> intentActivityResultLauncher;
//注册一个回调
intentActivityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),
new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
//这里是回调方法
if(result!=null){
Intent intent = result.getData();
if(intent!=null&&result.getResultCode()== Activity.RESULT_OK){
Bundle bundle1 = intent.getExtras();
//取出包裹内容
//把返回的消息显示在一个文本上面
xx.setText(xx);
}
}
}
//new ActivityResultCallback<ActivityResult>()可以使用lambda进行替换
//此方法要注册在OnCreate里面 仅注册一次 //最后在OnClick里面
register.launch(intent);
//从上一界面获取包裹
Bundle bundle = getIntent().getExtras(); //OnClick
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("",);
//注意 这里老师没有写,导致回调失败,app崩溃,可能和我的上一个问题有关系
intent.putExtras(bundle);
//携带意图返回上一个界面,RESULT_OK表示处理成功
setResult(Activity.RESULT_OK,intent);
finish();
activity向上/向下一个页面发送数据的更多相关文章
- Intent 隐式跳转,向下一个活动传递数据,向上一个活动返回数据。
一.每个Intent只能指定一个action,多个Category. 使用隐式跳转,我们不仅可以跳转到自己程序内的活动,还可以启动其他程序的活动.使得Android多个程序之间的功能共享成为可能. 例 ...
- Android基础Activity篇——Intent向下一个活动传递数据
1.向下一个活动传递数据 String data ="bilibilbilbilbili"; Intent intent1=new Intent(this,secondActivi ...
- request设置属性 一般当做下一个页面的结果集
request设置属性 一般当做下一个页面的结果集
- Vue中如何将数据传递到下一个页面(超级简单哒)
先展示效果:注意URL中值是有变化的 一:在goodslist.vue文件夹绑定 <router-link :to="'/goodsinfo/'+subitem.artID" ...
- 【Android】7.0 Intent向下一个活动传递数据、返回数据给上一个活动
1.0 可以利用Intent吧数据传递给上一个活动,新建一个叫“hellotest01”的项目. 新建活动FirstActivity,勾选“Generate Layout File”和“Launche ...
- Angular js 之动态传数据到下一个页面和动态通过ng-click进入不同的页面
+关于Angular js中一些千篇一律的后台获取数据 首先在services.js里面把服务写好 然后在controller里面把数据给打印出来 (首先需要把数据注入) +关于Angular js中 ...
- php实现点击文字提交表单并传递数据至下一个页面
<?php $id="4";//等会要把这个数据传到第二个页面 ?> <?php echo "<li>"; echo " ...
- Intent(三)向下一个活动传递数据
向下传递活动很简单,可以我采用putExtra()方法的重载,把我们想要传递的数据暂时放在intent中,启动活动时从这里取就可以了. 首先我们在MainActivity(主活动)显式声明intent ...
- 【WPF学习笔记】之如何传递第一个登录界面的值到下一个页面显示:动画系列之(三)
... ... 承接系列(二) 在之前的登录后台已设置发送到主界面: 在主界面接收传递的值: using System; using System.Collections.Generic; using ...
- 黄聪:wordpress向一个页面POST数据,出现404页面访问不了
出现这个情况,说明POST的数据中存在一些关键词,触发调用了page以外的模版.比如POST数据中有 name , author 等参数. 解决办法,就是把这些参数改一下名称.
随机推荐
- .NetCore 3.1 教程之 EFCore连接Mysql DBFirst模式 从数据库生成实体
一:创建EF的类库,同时将此项目设置为启动项(为Scaffold-DbContext -tables指令使用),同时安装2个包 ①Microsoft.EntityFrameworkCore.Too ...
- lodash已死?radash库方法介绍及源码解析 —— 随机方法 + 字符串篇
前言 大家好,我是阿瓜.一个励志想成为艾弗森的前端瓜 ~ 我们已经分享了 radash 库中数组.对象等相关的方法,大家感兴趣的可以前往主页查看阅读: 或许你最近在某个地方听过或者看过 radash ...
- itestwork(爱测试) 开源一站式接口测试&敏捷测试工作站 9.0.2Rc2发布
(一)itest 简介 itest work (爱测试) 一站式工作站让测试变得简单.敏捷,"好用.好看,好敏捷" ,是itest wrok 追求的目标.itest work 包 ...
- 抖音abogus逆向分析
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 aHR0cHM6 ...
- .NET5 ASP.NET CORE 发布到IIS 文件无法替换
由于默认是:进程内托管.要在IIS里停止网站,才能替换文件. 建议解决方案是:进程外(out-of-process)托管 记事本修改项目的 .csproj 文件(或在VS上,选中web项目,右键-编 ...
- Vue学习:12.生命周期实例
两个小例子,巩固一下生命周期钩子函数. 实例1:初始化渲染 实现功能: 在 Vue 实例数据为空的情况下,用户在一进入页面就向服务器发送请求获取数据,并在数据返回后进行动态渲染. 思路: 创建一个 V ...
- Vue2复习
Vue2 插值.指令.动态属性.表达式.v-html 插值:{{ data }} 指令 & 动态属性:例子(:id="xxx") 表达式:可以用于赋值,写在{{}}里面 v ...
- flutter 尝试创建第一个页面(三)
新建目录 assets 存放图片 在pubspec..yaml 中添加 flutter: # The following line ensures that the Material Icons f ...
- 两个Excel表格核对 excel表格中# DIV/0 核对两个表格的差异,合并运算VS高级筛选
两个Excel表格核对 excel表格中# DIV/0 核对两个表格的差异,合并运算VS高级筛选 1.两列顺序一样的数据核对 方法1:加一个辅助列,=B2=C2 结果为FALSE的就是不相同的 方 ...
- http请求方式-HttpClient 微信退款的接口,需要证书请求 https请求
http请求方式-HttpClient import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import ...