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

 更新时间:2016年12月21日 15:29:51   投稿:lqh  
这篇文章主要介绍了Android 两个Fragment之间传递数据实例详解的相关资料,这里附有实例代码,实现该功能,需要的朋友可以参考下

 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手势锁制作实例教程

    超实用的Android手势锁制作实例教程

    这篇文章主要介绍了一个超实用的Android手势锁制作实例教程,普通的圆环形图标变换,在App和系统的锁屏界面中都可以调用,需要的朋友可以参考下
    2016-04-04
  • Android实现底部导航栏功能(选项卡)

    Android实现底部导航栏功能(选项卡)

    这篇文章主要介绍了Android实现底部导航栏功能,可以随意切换不同的页面,实现选项卡功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • Android实现滑动标签页

    Android实现滑动标签页

    这篇文章主要为大家详细介绍了Android实现滑动标签页,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Android Intent 用法全面总结及实例代码

    Android Intent 用法全面总结及实例代码

    这篇文章主要介绍了Android Intent 用法全面总结的相关资料,并附实例代码,需要的朋友可以参考下
    2016-09-09
  • Android EditText默认不弹出输入法的实现方法

    Android EditText默认不弹出输入法的实现方法

    下面小编就为大家分享一篇Android EditText默认不弹出输入法的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Android中的SQLite数据库简介

    Android中的SQLite数据库简介

    SQLite是Android系统采用的一种开源的轻量级的关系型的数据库。这篇文章主要介绍了Android中的SQLite数据库简介,需要的朋友可以参考下
    2017-03-03
  • Android实现GridView中的item自由拖动效果

    Android实现GridView中的item自由拖动效果

    在前一个项目中,实现了一个功能是gridview中的item自由拖到效果,实现思路很简单,主要工作就是交换节点,以及拖动时的移动效果,下面小编给大家分享具体实现过程,对gridview实现拖拽效果感兴趣的朋友一起看看吧
    2016-11-11
  • Android编程之判断SD卡状态的方法

    Android编程之判断SD卡状态的方法

    这篇文章主要介绍了Android编程之判断SD卡状态的方法,结合实例分析了Android针对SD卡的权限操作及状态判定技巧,需要的朋友可以参考下
    2016-02-02
  • Android Zip解压缩工具类分享

    Android Zip解压缩工具类分享

    这篇文章主要为大家详细介绍了Android Zip解压缩工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android实现顶部弧形背景效果

    Android实现顶部弧形背景效果

    在当今移动互联网应用中,界面设计的美观与交互体验往往成为用户评价一款产品的重要因素之一,本文将详细介绍如何在 Android 应用中实现顶部弧形背景效果,通过自定义 View、绘制原理和动画特效等多种技术手段,打造出既美观又具有较好扩展性的界面背景效果
    2025-04-04

最新评论