博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两个Fragment之间如何传递数据
阅读量:5829 次
发布时间:2019-06-18

本文共 1730 字,大约阅读时间需要 5 分钟。

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) {        // ...    }}

本文转自zdd博客园博客,原文链接:http://www.cnblogs.com/graphics/p/5151547.html,如需转载请自行联系原作者

你可能感兴趣的文章
万兆环境下的Web安全思考
查看>>
ASP.NET MVC的Model元数据与Model模板:将”ListControl”引入ASP.NET MVC
查看>>
国内首个云计算应用网站平台落户泰州
查看>>
陀螺仪
查看>>
Umdhtools.exe: 如何使用 umdh.exe 来查找内存泄漏
查看>>
AI模仿人类笔迹,汽车失控,属于黑客的舞台战斗不息
查看>>
CodePicnic的Docker Swarm之路
查看>>
8月9日 SAP Leonardo联合创新日 不见不散
查看>>
无人驾驶技术的灵魂——SLAM的现在与未来
查看>>
英特尔构建云编排方案,旨在从零开始打造OpenStack
查看>>
《C语言程序设计进阶教程》一2.7 在DDD(命令行调试程序)上检测调用栈
查看>>
Forcepoint宣布构建四个全新业务部门
查看>>
深圳金融办暂停互联网金融企业注册登记
查看>>
路由器能赚钱 这事靠谱吗
查看>>
教你用Python创建瀑布图
查看>>
《中国人工智能学会通讯》——2.34 虚构画面(Dreaming Up Visions)
查看>>
共建网络安全 共享网络文明 2015福建网络安全宣传日成功举办
查看>>
稳居全球超算TOP500榜单前四 中科曙光“液冷HPC”成亮点
查看>>
希捷宣布全球裁员6% 新任CEO降薪25%
查看>>
丝绸之路3.1“被黑”,老板宣称破产
查看>>