详解Android activity与fragment之间的通信交互
程序员文章站
2024-02-10 10:55:52
前言
纵观市场,大多数的app都采用导航+fragment这种设计模式,如微信,qq,京东,淘宝,究其原因:简洁。
在开发过程中不可避免的会出现fragment与fra...
前言
纵观市场,大多数的app都采用导航+fragment这种设计模式,如微信,qq,京东,淘宝,究其原因:简洁。
在开发过程中不可避免的会出现fragment与fragment,fragment与activity之间的通信交互问题。
本章讲述如何实现fragment与activity之间的通信。
一、app构成
mainactivity+底部导航栏;
二、通信目的
mainactivity中成员方法test(),fragment中经test()方法判断后,方可执行下一步操作,如执行界面跳转;
例:
public class mainactivity extends activity{ public boolean mbaidusdk_is_ok = false; public boolean ismbaidusdk_is_ok() { return mbaidusdk_is_ok; } public void setmbaidusdk_is_ok(boolean mbaidusdk_is_ok) { this.mbaidusdk_is_ok = mbaidusdk_is_ok; } }
如上述示例代码,在fragment中需要对mbaidusdk_is_ok进行值判断,执行界面跳转;
三、解决方法
public class test1fragment extends fragment implements onclicklistener { private activity mactivity; @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { mactivity = getactivity();//在界面创建时,定义父activity view = inflater.inflate(r.layout.fragment_test1, container, false); return view; } @override public void onviewcreated(view view, bundle savedinstancestate) { // fragment_test1 布局中的一个测试按钮 button test_button= (button) view.findviewbyid(r.id. test_button); test_button setonclicklistener(this);//设置按钮监听事件 super.onviewcreated(view, savedinstancestate); } @override public void onclick(view view) { // todo auto-generated method stub switch (view.getid()) { //测试按钮监听事件 case r.id.test_button: // mactivity即为代表的父activity intent intent = new intent(mactivity, secondactivity.class); log.i("baidusdk", "验证:" + ((mainactivity) mactivity).ismbaidusdk_is_ok()); //最为关键的一步,fragment调用父activity的成员方法,进行通信 if (((mainactivity) mactivity).ismbaidusdk_is_ok()) { startactivity(intent); } else { log.e("test","请确认mbaidusdk_is_ok是否正常!"); } break; } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
详解Android activity与fragment之间的通信交互
-
详解android与服务端交互的两种方式
-
Android学习笔记(Android Studio) 4-2-1~2 Fragment详解(一、二)(不可不会的Activity和Fragment)
-
读《 NFC:Arduino、Android与PhoneGap近场通信》 有感——智能的电磁场交互
-
Android 入门第十讲02-广播(广播概述,使用方法(系统广播,自定义广播,两个activity之间的交互和传值),EventBus使用方法,数据传递,线程切换,Android的系统广播大全)
-
Android Activity与Fragment之间的跳转实例详解
-
Android中Service与Activity之间通信的几种方式
-
Android中使用开源框架eventbus3.0实现fragment之间的通信交互
-
Android 中Fragment与Activity通讯的详解
-
Android中使用开源框架eventbus3.0实现fragment之间的通信交互