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


相关推荐: googleplay官方入口在哪里_Google Play官方商店快速入口指南  想要更高端的建设网站,这些原则一定要坚持!  Laravel如何创建自定义Facades?(详细步骤)  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  Laravel如何发送系统通知?(Notification渠道示例)  MySQL查询结果复制到新表的方法(更新、插入)  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  php打包exe后无法访问网络共享_共享权限设置方法【教程】  香港服务器网站卡顿?如何解决网络延迟与负载问题?  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  如何基于云服务器快速搭建网站及云盘系统?  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何快速查询网站的真实建站时间?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  高端企业智能建站程序:SEO优化与响应式模板定制开发  如何用AI帮你把自己的生活经历写成一个有趣的故事?  使用spring连接及操作mongodb3.0实例  Laravel如何实现用户密码重置功能?(完整流程代码)  手机软键盘弹出时影响布局的解决方法  详解Android中Activity的四大启动模式实验简述  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  php json中文编码为null的解决办法  Firefox Developer Edition开发者版本入口  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  JavaScript如何实现错误处理_try...catch如何捕获异常?  Laravel如何实现用户注册和登录?(Auth脚手架指南)  EditPlus中的正则表达式 实战(4)  Python进程池调度策略_任务分发说明【指导】  Swift中swift中的switch 语句  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  如何注册花生壳免费域名并搭建个人网站?  Java垃圾回收器的方法和原理总结  深圳网站制作培训,深圳哪些招聘网站比较好?  如何在橙子建站上传落地页?操作指南详解  Laravel如何使用Telescope进行调试?(安装和使用教程)  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Bootstrap CSS布局之列表  如何快速搭建FTP站点实现文件共享?  JS经典正则表达式笔试题汇总  微信小程序 HTTPS报错整理常见问题及解决方案  免费视频制作网站,更新又快又好的免费电影网站?  Laravel如何保护应用免受CSRF攻击?(原理和示例)  如何快速完成中国万网建站详细流程?