向下一个活动发送数据

一般使用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向上/向下一个页面发送数据的更多相关文章

  1. Intent 隐式跳转,向下一个活动传递数据,向上一个活动返回数据。

    一.每个Intent只能指定一个action,多个Category. 使用隐式跳转,我们不仅可以跳转到自己程序内的活动,还可以启动其他程序的活动.使得Android多个程序之间的功能共享成为可能. 例 ...

  2. Android基础Activity篇——Intent向下一个活动传递数据

    1.向下一个活动传递数据 String data ="bilibilbilbilbili"; Intent intent1=new Intent(this,secondActivi ...

  3. request设置属性 一般当做下一个页面的结果集

    request设置属性 一般当做下一个页面的结果集

  4. Vue中如何将数据传递到下一个页面(超级简单哒)

    先展示效果:注意URL中值是有变化的 一:在goodslist.vue文件夹绑定 <router-link :to="'/goodsinfo/'+subitem.artID" ...

  5. 【Android】7.0 Intent向下一个活动传递数据、返回数据给上一个活动

    1.0 可以利用Intent吧数据传递给上一个活动,新建一个叫“hellotest01”的项目. 新建活动FirstActivity,勾选“Generate Layout File”和“Launche ...

  6. Angular js 之动态传数据到下一个页面和动态通过ng-click进入不同的页面

    +关于Angular js中一些千篇一律的后台获取数据 首先在services.js里面把服务写好 然后在controller里面把数据给打印出来 (首先需要把数据注入) +关于Angular js中 ...

  7. php实现点击文字提交表单并传递数据至下一个页面

    <?php $id="4";//等会要把这个数据传到第二个页面 ?> <?php echo "<li>"; echo " ...

  8. Intent(三)向下一个活动传递数据

    向下传递活动很简单,可以我采用putExtra()方法的重载,把我们想要传递的数据暂时放在intent中,启动活动时从这里取就可以了. 首先我们在MainActivity(主活动)显式声明intent ...

  9. 【WPF学习笔记】之如何传递第一个登录界面的值到下一个页面显示:动画系列之(三)

    ... ... 承接系列(二) 在之前的登录后台已设置发送到主界面: 在主界面接收传递的值: using System; using System.Collections.Generic; using ...

  10. 黄聪:wordpress向一个页面POST数据,出现404页面访问不了

    出现这个情况,说明POST的数据中存在一些关键词,触发调用了page以外的模版.比如POST数据中有 name , author 等参数. 解决办法,就是把这些参数改一下名称.

随机推荐

  1. .net c# 文件分片/断点续传之下载--客户端

    断点续传客户端实现主要参考了以下文章: https://blog.csdn.net/binyao02123202/article/details/76599949 客户端实现续传的主要是一下几点 1. ...

  2. Qt-FFmpeg开发-视频播放(5)

    音视频/FFmpeg #Qt Qt-FFmpeg开发-视频播放[软/硬解码 + OpenGL显示YUV/NV12] 目录 音视频/FFmpeg #Qt Qt-FFmpeg开发-视频播放[软/硬解码 + ...

  3. LeetCode 460. LFU Cache LFU缓存 (C++/Java)

    题目: Design and implement a data structure for Least Frequently Used (LFU)cache. It should support th ...

  4. AnkhSVN For Visual Studio 2022

    AnkhSVN For VS2022 AnkhSVN 2.9.87 - Visual Studio 2022 support https://github.com/AmpScm/AnkhSVN/rel ...

  5. 🌟 简单理解 React 的 createContext 和 Provider 🚀

    在 React 应用中,我们经常需要在组件之间共享状态和数据.而 React 的 createContext 和 Provider 就是为了解决这个问题而诞生的. createContext:创建自定 ...

  6. 关于 Jupyter Nbconvert 自定义 LaTeX 模板,中文兼容与格式设置,从 Notebook 构建 LaTeX PDF 文档

    目录 为什么会有这篇随笔的内容? 简述一下我遇到的问题 Nbconvert 转换 .ipynb 文件的基本方法 Jupyter Nbconvert 构建中文 \(\LaTeX\) 文档的痛点 Jupy ...

  7. windows系统安装或使用inspect.exe工具

    确认是否安装? 结合工具everything,进行搜索 选择对应操作系统的版本,右键->选择打开路径,进到inspect.exe的安装路径,双击打开软件 软件开启后,就会自动开始抓取目前软件界面 ...

  8. xshell+ssh+网络+加密

    使用xshell+ssh用于管理linux服务器,大概是目前最为流行的方式. 这个工具和技术涉及到: 计算机网络 加密解密 虽然不是专门的系统工程师,但还是相对频繁使用这套工具,有时候难免遇到一些不知 ...

  9. java多线程-2-概念和实现机制

    知其然,而知其所以然! 在计算机领域,有多种操作系统,常见的有windows家族和unix/Linux家族,它们都支持多任务的计算模式. 它们实现多任务的机制是差不多的,这点在<<操作系统 ...

  10. vba--数组,多个表中的程序合并到一起,设置为一个按钮

    Sub ttt() t = Timer Application.DisplayAlerts = False '清空数据 Sheets("买卖4").Select Range(&qu ...