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 等参数. 解决办法,就是把这些参数改一下名称.
随机推荐
- WPF多显示器问题 - WindowState
标签 wpf multiple-monitors 一段时间以来,我一直试图让我的 WPF 应用程序跨越多个监视器,并且几乎可以正常工作.当我设置以下行时,问题似乎出现了: win1.WindowSta ...
- 批量处理图片(resize;grayscale)以及重命名
批量处理图片(resize:grayscale)以及重命名 做深度学习,有大量图片需要做为训练集,为方便批量resize,rename,灰度化,制作python脚本. 先纪录一些函数: resize ...
- Dump Rtmp Audio Stream To AAC Formate File (从Rtmp流提取并保存AAC音频文件)
一.准备工作 参考:https://www.cnblogs.com/doudouyoutang/p/10220599.html 搭建本地rtmp服务: https://www.cnblogs.com/ ...
- 解决TrueNAS中Smb共享文件路径不区分大小写的问题
问题 在Truenas中, 默认的smb文件分享中, 文件夹是不区分大小写的. 这在一些情况下会导致无法重命名等问题, 严重时可能会造成拷贝文件时的全文件夹文件丢失. 这是linux下的情况, 在已存 ...
- vue 实现商品列表的添加、删除,搜索
大江东去,浪淘尽,千古风流人物.故垒西边,人道是,三国周郎赤壁.乱石穿空,惊涛拍岸,卷起千堆雪.江山如画,一时多少豪杰.遥想公瑾当年,小乔初嫁了,雄姿英发.羽扇纶巾,谈笑间,樯橹灰飞烟灭.故国神游,多 ...
- Linux扩展篇-shell编程(八)-shell字符串截取
shell字符串截取,一般包含从指定位置和从指定字符截取. 一.从指定位置截取 1) 从字符串左边开始计数 格式: ${string: start :length} 从 string 字符串的左边第 ...
- WIN8 WIN10 WIN11离线安装 .NET 3.5
WIN8 WIN10 WIN11离线安装 .NET 3.5 以WIN10为例: 1.双击WIN10 ISO 镜像,看挂载的是哪个盘符.我这边是E:. 2.使用 WIN + X 快捷键,打开 Windo ...
- Java面试知识点(五)hashmap、hashtable和hashset
1. 关于 HashMap 的一些说法: a) HashMap 实际上是一个 "链表散列" 的数据结构,即数组和链表的结合体.HashMap 的底层结构是一个数组,数组中的每一项是 ...
- CLR via C# 笔记 -- 可空值类型(19)
1. 值类型的变量永远不会为null,所有需要使用System.Nullable<T> 2. 操作数是null,结构是null:==.!=操作数都为null,则返回true:<.&g ...
- 算法金 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost 算法大全
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 决策树是一种简单直观的机器学习算法,它广泛应用于分类和回归问题中.它的核心思想是将复杂 ...