Android 两个Fragment之间传递数据实例详解

发布时间 - 2026-01-10 22:00:08    点击率:

 Android 两个Fragment之间如何传递数据

FragmentA启动FragmentB,做一些选择操作后,返回FragmentA,需要把FragmentB里面选择的数据传回来。有什么办法?

Fragment之间不能直接通信,必须通过Activity来完成,具体步骤。

1. 在FragmentA中定义通信接口,通过该接口向Activity发送数据。

public class FragmentA extends Fragment {
  private onButtonPressListener mListener;

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_linmo_select_beitie, container, false);
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
      @Override
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        mListener.onOKButtonPressed(selectedBeitie);
      }
    });

    return view;
  }

  @Override
  public void onAttach(Activity activity) {
    super.onAttach(activity);
    try {
      mListener = (onButtonPressListener) activity;
    } catch (ClassCastException e) {
      throw new ClassCastException(activity.toString() + " must implement onOkButtonPressed");
    }
  }

  public interface onButtonPressListener {
    void onOKButtonPressed(LinmoBeitieItem item);
  }
}

2. 在Activity中实现该接口,并通过该接口向FragmentB传递数据。

public class MainActivity extends Activity implements FragmentA.onButtonPressListener {
  @Override
  public void onOKButtonPressed(LinmoBeitieItem item) {
    FragmentB fragmentB = (FragmentB)getFragmentManager().findFragmentById(R.id.container);
    fragmentB.onBeitieSelected(item);
  }
}

3. FragmentB接收到数据并处理。

public class FragmentA extends Fragment {
  public void onBeitieSelected(LinmoBeitieItem item) {
    // ...
  }
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # Fragment数据传递  # Fragment数据传递实例详解  # Fragment数据传递怎么实现  # Android自定义ViewPagerIndicator实现炫酷导航栏指示器(ViewPager+F  # Android Activity与Fragment之间的跳转实例详解  # Android中ViewPager获取当前显示的Fragment  # Android中fragment与activity之间的交互(两种实现方式)  # Android基础之使用Fragment控制切换多个页面  # Android基础之Fragment与Activity交互详解  # Android中fragment嵌套fragment问题解决方法  # Android Fragment 基本了解(图文介绍)  # Android 管理Activity中的fragments  # Android的Fragment的生命周期各状态和回调函数使用  # Android中Fragment的加载方式与数据通信详解  # 希望能  # 谢谢大家  # 来完成  # 有什么办法  # ViewGroup  # Bundle  # container  # inflater  # View  # Override  # LayoutInflater  # onCreateView  # fragment_linmo_select_beitie  # layout  # listView  # false  # setOnItemClickListener  # savedInstanceState  # inflate 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 昵图网官方站入口 昵图网素材图库官网入口  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  如何快速生成ASP一键建站模板并优化安全性?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  如何在云虚拟主机上快速搭建个人网站?  EditPlus中的正则表达式实战(6)  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  如何快速搭建高效WAP手机网站?  使用C语言编写圣诞表白程序  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  Laravel如何实现事件和监听器?(Event & Listener实战)  如何为不同团队 ID 动态生成多个独立按钮  济南网站建设制作公司,室内设计网站一般都有哪些功能?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel如何处理表单验证?(Requests代码示例)  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  如何自定义建站之星网站的导航菜单样式?  如何在阿里云部署织梦网站?  香港网站服务器数量如何影响SEO优化效果?  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  JavaScript Ajax实现异步通信  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  创业网站制作流程,创业网站可靠吗?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Laravel如何使用查询构建器?(Query Builder高级用法)  免费视频制作网站,更新又快又好的免费电影网站?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  如何批量查询域名的建站时间记录?  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  香港服务器选型指南:免备案配置与高效建站方案解析  如何在 Pandas 中基于一列条件计算另一列的分组均值  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  详解Android图表 MPAndroidChart折线图  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Laravel storage目录权限问题_Laravel文件写入权限设置  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  如何生成腾讯云建站专用兑换码?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  详解Android中Activity的四大启动模式实验简述