向下一个活动发送数据

一般使用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. Python多线程、多进程编程

    1 简介 参考:https://www.bilibili.com/video/BV1bK411A7tV?spm_id_from=333.999.0.0 python线程池ThreadPoolExecu ...

  2. python-将多个表格的信息合并到一个表格中

    1.环境 代码运行环境:python3.7 相关的库:xlrd.xlwt 2.目的 通过xlrd库读取各个表格的数据,通过xlwt库将读取到的数据写入到一个表格中. 3.实现 在工程目录下,有一个te ...

  3. 使用命令行(powershell)压缩(7Z RAR)指定日期文件

    使用命令行(powershell)压缩(7Z RAR)指定日期文件,powershell ,7z. WINDOWS命令行是无法按时间过滤文件的,我们通过powershell 里的Get-ChildIt ...

  4. jenkins发布服务失败查看catalina.out启动日志和xxl-job jobhandler naming conflicts

    jenkins发布服务失败查看catalina.out启动日志和xxl-job jobhandler naming conflicts 1.查看tomcat/logs/catalina.out 日志, ...

  5. 交互式转化批处理工具 expect

    交互式转化批处理工具 expect expect中相关命令 spawn 启动新的进程 expect 从进程接收字符串 send 用于向进程发送字符串 interact 允许用户交互 exp_conti ...

  6. 认真学习css3--01-全是日志没有技术内容

    由于某些原因,还是要写写前端代码. 虽然这不是我的主要责任,但也有表率的必要性. css3这个东西没有什么大难度,难点主要集中在: 1)样式比较多 2)精准定位 3)性能优化 其中第2个是日常经常面对 ...

  7. C++之printf函数

    背景 C++中可以使用cout来输出. 但是cout输出一些格式化的数据非常麻烦. 比如: hour,min和sec代表当前时间,需求:按12:00:00格式输出当前时间. //使用cout输出 co ...

  8. Freertos学习:04-任务的调试函数

    --- title: rtos-freertos-04-任务的调试函数 EntryName: rtos-freertos-04-task-debug date: 2020-06-22 08:49:06 ...

  9. 使用kk在centos7上离线部署kubesphere v3.0.0详解

    环境准备 以三台centos 7.7 64bit 为例: 确保所有机器已经安装所需依赖软件(sudo curl openssl ebtables socat ipset conntrack docke ...

  10. HDFS的特点和目标,不适合场景

     HDFS的特点和目标: HDFS设计优点: (一)高可靠性:Hadoop按位存储和处理数据的能力值得人们信赖; (二)高扩展性:Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可 ...