Android-Activity 与 Fragment 相互通信

Android中Fragment与Activity的相互通信 Fragment向Activity通信:    实现Fragment向Activity通信的方法为在Fragment内部定义接口,在接口中定义要实现的方法,并在绑定的Activity中实现这个接口,在Fragment 的OnAttach方法中获得绑定的Activity对象,并将得到的Activity对象强制转化为接口对象,这样就可以在fragment中操作activity实现接口之后继承的方法,从 阅读详情

Activity 与 Fragment 相互通信

Activity 如何传递数据到 Fragment

1:Activity的布局文件

activcity_2_fragment.xml
<LinearLayout

xmlns:android=“http://schemas.android.com/apk/res/android”
android:orientation=“vertical”
android:layout_width=“match_parent”
android:layout_height=“match_parent”>

<TextView
    android:id="@+id/text"
    android:layout_gravity="center"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20dp"
    android:text="我是Activity" />

<FrameLayout
    android:layout_below="@+id/button"
    android:id="@+id/fragment_container"
    android:layout_width="match_parent"
    android:layout_height="500dp"/>

2:设置 Fragment的布局文件

fragment.xml
<LinearLayout

xmlns:android=“http://schemas.android.com/apk/res/android”
android:orientation=“vertical”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:background="@color/colorAccent"
>

<TextView
    android:id="@+id/fragment"
    android:text="我是fragment"
    android:layout_gravity="center"
    android:textSize="30dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

<TextView
    android:id="@+id/text"
    android:layout_gravity="center"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20dp"
    android:text="等待Activity发送消息" />

<Button
    android:id="@+id/button"
    android:layout_gravity="center"
    android:text="点击接收Activity消息"
    android:layout_centerInParent="true"
    android:textSize="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

3:设置Activity的类文件

Activity2Fragment
public class Activity2Fragment extends AppCompatActivity {

TextView text;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activcity_2_fragment);

    text = (TextView) findViewById(R.id.text);

    // 步骤1:获取FragmentManager
    FragmentManager fragmentManager = 

getFragmentManager();

    // 步骤2:获取FragmentTransaction
    FragmentTransaction fragmentTransaction = 

fragmentManager.beginTransaction();

    // 步骤3:创建需要添加的Fragment 
    final mFragment fragment = new mFragment();

    // 步骤4:创建Bundle对象
    // 作用:存储数据,并传递到Fragment中
    Bundle bundle = new Bundle();

    // 步骤5:往bundle中添加数据
    bundle.putString("message", "I love Google");

    // 步骤6:把数据设置到Fragment中
    fragment.setArguments(bundle);

    // 步骤7:动态添加fragment
    // 即将创建的fragment添加到Activity布局文件中定义的

占位符中(FrameLayout)
fragmentTransaction.add(R.id.fragment_container,

fragment);
fragmentTransaction.commit();

}

}

4:设置Fragment的类文件

mFragment.java
public class mFragment extends Fragment {
Button button;
TextView text;
Bundle bundle;
String message;

@Override
public View onCreateView(LayoutInflater inflater, 

ViewGroup container, Bundle savedInstanceState) {
View contentView = inflater.inflate

(R.layout.fragment, container, false);
// 设置布局文件

    button = (Button) contentView.findViewById

(R.id.button);
text = (TextView) contentView.findViewById

(R.id.text);

    // 步骤1:通过getArgments()获取从Activity传过来的全部

值
bundle = this.getArguments();

    // 步骤2:获取某一值
    message = bundle.getString("message");

    // 步骤3:设置按钮,将设置的值显示出来
    button.setOnClickListener(new View.OnClickListener() 

{
@Override
public void onClick(View v) {

            // 显示传递过来的值
            text.setText(message);

        }
    });

    return contentView;
}

}

Android 中Fragment和Activity之间的通信 前言: 通过回调接口的方法实现fragment和Activity之间的通信。 效果演示: 布局文件 activity_container.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" 阅读详情

相关推荐

手把手教你用STM32驱动SPL06-001气压传感器(附完整代码与避坑指南)

本文详细介绍了如何使用STM32驱动SPL06-001气压传感器,包括硬件连接、寄存器配置、驱动层实现和数据补偿算法。通过完整的代码示例和避坑指南,帮助开发者快速掌握SPL06传感器的应用技巧,提升嵌入式系统开发效率。

weixin_42552315的博客 294

Fragment和Activity之间的通信

Fragment和Activity之间的通信

xiaokang666的博客 3887

统信UOS/麒麟Kylin OS下利用pyenv实现Python多版本开发环境搭建指南

本文详细介绍了在统信UOS和麒麟Kylin OS国产操作系统下使用pyenv搭建Python多版本开发环境的完整指南。从系统环境准备、pyenv定制安装到Python版本编译实战,提供了针对国产CPU架构的特殊优化方案和常见问题解决方法,帮助开发者高效管理不同Python版本需求。

sea99的博客 1052

Activity与Fragment的通信

Bundle和接口(观察者模式)的实现方式

蔡林浩的博客 4640

机器人控制入门:用SAC算法让机械臂学会抓取(PyBullet仿真教程)

本文详细介绍了如何使用SAC算法在PyBullet仿真环境中训练机械臂完成抓取任务。通过强化学习中的软Actor-Critic(SAC)算法,结合熵最大化机制和双Q网络架构,有效解决了机械臂控制中的探索难题。教程包含环境搭建、算法原理、状态空间设计、奖励函数优化等核心内容,并提供了实用的训练技巧和参数调优指南。

weixin_29091105的博客 364

网络可视化工具netron详细安装流程

netron安装目录1.netron 简介2.不同操作系统下的安装使用方式2.1 在线版本:只要有浏览器就可以2.2 不同操作系统安装使用3.netron支持的网络框架4.netron测试演示 1.netron 简介 在实际的项目中,经过会遇到各种网络模型,需要我们快速去了解网络结构。如果单纯的去看模型文件,脑海中很难直观的浮现网络的架构。 这时,就可以使用netron可视化工具,可以清晰的看到每一层的输入输出,网络总体的架构,而且支持各种不同网络框架,简单好用。 2.不同操作系统下的安装使用方式 2.1

江南研习社 12万+

Android学习笔记 25. Activity与Fragment通信

Android学习笔记 25. Activity与Fragment通信

代码改变世界 1039

Java:使用Java调用打印机进行打印(JPG、PDF和Word三种文件格式)

目录 一、Java的打印简介 二、Java打印实现 2.1 JPG图片文件格式打印实现 2.2 PDF文件格式打印实现 2.3 Word文件格式打印实现 2.3.1 Word文件采用jacob插件进行打印实现。 2.3.2 先将word转化为pdf文件,然后打印pdf(lz使用) 三、总结 一、Java的打印简介 在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Jav...

vatxiongxiaohui的专栏 8万+

Android中activity与fragment通信

Android中activity与fragment通信一、activity之间传值 通过intent传递数据 通过Application 使用单例 静态成员变量 持久化(sqlite、share preference、file等) 1、通过intent传递数据 直接传递,intent.putExtra(key, value) 通过bundle,intent.putExtras(bundle);

anwanfei的博客 769

Creo报错代码-9?手把手教你重新生成许可证文件(基于Creo 10.0)

本文详细解析Creo报错代码-9的成因及解决方案,重点介绍如何重新生成许可证文件以应对网络环境变化导致的验证失败。通过分步指南和高级技巧,帮助用户有效管理多网络环境下的Creo许可证问题,提升工作效率。

weixin_30839881的博客 564

基于YOLOv11的手写数字与符号识别系统设计与实现

手写数字与符号识别系统需要丰富多样的训练数据才能达到理想的泛化性能。MNIST:包含70,000个手写数字样本(0-9),28x28灰度图像优点:干净整齐,适合初学者缺点:多样性不足,只有数字EMNIST:MNIST的扩展,包含数字、字母(大小写)和特殊符号样本量:814,255张图像覆盖62个类别(10数字+26小写字母+26大写字母)HASYv2:专门的手写符号数据集包含369个不同符号类别约168,000个标注实例包括数学符号、箭头、括号等:英文手写文本数据库。

YOLO 292

Android中Fragment和Activity之间相互通信

Fragment和Activity之间通过接口的方式实现通信,主要是分别在onAttachFragment和onAttach方法中进行接口绑定1.Activity向Fragment发出通信Activity端:private OnMainListener mainListener; // 绑定接口 @Override public void onAttachFragment(...

u014611408的博客 342

从DDPM到DDIM:深入解读《Denoising Diffusion Implicit Models》

DDIM发表在ICRL2021上,是DDPM重要的改进之一,能显著提高DDPM的样本质量、减少采样时间,并且能显式控制插值,已经被广泛应用到现在的Diffusion Models上。这篇博客和大家一起详细解读一下DDIM,认识这一伟大的模型。.........

沉迷单车的追风少年 1万+

Android Activity 与 Fragment 相互通信

https://blog.youkuaiyun.com/carson_ho/article/details/75453770 前言 Activity 与 Fragment 的使用在Android开发中非常多 今天,我将主要讲解 Activity 与 Fragment 如何进行通信,实际上是要解决两个问题:  Activity 如何传递数据到 Fragment? Fragment如何传递数据到Act...

王志强_android_专栏 697

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

android中fragment和activity之间相互通信

(转载)http://haiyang08101.iteye.com/blog/2155537 在用到fragment的时候,老是会遇到一个问题,就是fragment与activity之间的通信。下面就来记录一下activity和fragment之间 通过实现接口来互相通信的方法。 1. activity 向fragment发出通信,就这么写:代码   private 

u010746364的博客 2410

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android 向Activity/Fragment传递数据,相互通信

一直以来,Android开发者遇到一个很大痛点就是向Activity或者Fragment传递数据很不方便, 不方便的原因主要有如下几点: 一,Activity/fragment的生命击期由framework控制.如果要实时与Activity/Fragment传递数据比较困难。 二,使用static 方法不优雅 三,基于intent/bundle传递一般是单向的,相互交换数据比较困难。 等等...

lzq001的专栏 802

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Android:手把手教你 实现Activity 与 Fragment 相互通信 动态传值

前言 Activity 与 Fragment 的使用在Android开发中非常多今天,我将主要讲解 Activity 与 Fragment 如何进行通信,实际上是要解决两个问题: Activity 如何传递数据到 Fragment?Fragment如何传递数据到Activity ?   问题1: Activity 如何传递数据到 Fragment?        采用

XiaoZhuang__的博客 1388

Carson带你学Android:手把手教你实现Activity与Fragment相互通信

前言 Activity 与 Fragment 的使用在Android开发中非常多 今天,我将主要讲解 Activity 与 Fragment 如何进行通信,实际上是要解决两个问题: Activity 如何传递数据到 Fragment? Fragment如何传递数据到Activity ? 下面,我将解答这两个问题。 阅读本文前,建议阅读Android:Fragment最全面介绍 & 使用方法解析

Carson带你学Android 2万+

Android Jetpack系列-实现Application作用域的共享ViewModel用于Activity和Fragment的相互通信

通过模仿activityViewModels源码,我们定义了两个扩展方法:AppCompatActivity.applicationViewModels和Fragment.applicationViewModels,实现了Application作用域的ViewModel,非常简单。但是这样做是不是对的?会不会带来其它问题比如内存泄露啥的?毕竟ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据,可在发生屏幕旋转等配置更改后继续留存。

农贤钢的专栏 8193

Android:手把手教你 实现Activity 与 Fragment 相互通信

//MainActivity package com.bawei.com.haha; import android.app.FragmentManager; import android.os.Bundle; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatAc

xiaozhang0414的博客 322

Android:手把手教你 实现Activity 与 Fragment 相互通信(含Demo)

前言Activity 与 Fragment 的使用在Android开发中非常多今天,我将主要讲解 Activity 与 Fragment 如何进行通信,实际上是要解决两个问题:Activity 如何传递数据到 Fragment?Fragment如何传递数据到Activity ?下面,我将解答这两个问题。阅读本文前,建议阅读Android:Fragment最全面介绍 &amp; 使用方法解析问题1:...

大灰狼的小绵羊哥哥的博客 551
上一篇: Android-Activity与Fragment的生命周期
Android_xi
博客等级 码龄8年 4粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值