Android中如何实现activity与fragment间的通信

Android中如何实现activity与fragment间的通信

本篇内容主要讲解“Android中如何实现activity与fragment间的通信”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android中如何实现activity与fragment间的通信”吧!

一、APP构成

Android中如何实现activity与fragment间的通信

MainActivity+底部导航栏;

二、通信目的

MainActivity中成员方法test(),fragment中经test()方法判断后,方可执行下一步操作,如执行界面跳转;
例:

publicclassMainActivityextendsActivity{publicbooleanmBaiDuSDK_is_Ok=false;publicbooleanismBaiDuSDK_is_Ok(){returnmBaiDuSDK_is_Ok;}publicvoidsetmBaiDuSDK_is_Ok(booleanmBaiDuSDK_is_Ok){this.mBaiDuSDK_is_Ok=mBaiDuSDK_is_Ok;}}

如上述示例代码,在fragment中需要对mBaiDuSDK_is_Ok进行值判断,执行界面跳转;

三、解决方法

publicclassTest1FragmentextendsFragmentimplementsOnClickListener{privateActivitymActivity;@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){mActivity=getActivity();//在界面创建时,定义父Activityview=inflater.inflate(R.layout.fragment_test1,container,false);returnview;}@OverridepublicvoidonViewCreated(Viewview,BundlesavedInstanceState){//fragment_test1布局中的一个测试按钮Buttontest_button=(Button)view.findViewById(R.id.test_button);test_buttonsetOnClickListener(this);//设置按钮监听事件super.onViewCreated(view,savedInstanceState);}@OverridepublicvoidonClick(Viewview){//TODOAuto-generatedmethodstubswitch(view.getId()){//测试按钮监听事件caseR.id.test_button://mActivity即为代表的父ActivityIntentintent=newIntent(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间的通信”有了更深的了解,不妨来实际操作一番吧!这里是恰卡编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

发布于 2022-04-11 21:18:15
收藏
分享
海报
0 条评论
35
上一篇:Android中使用Handler造成的内存泄露怎么解决 下一篇:Java怎么连接MySQL数据库
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码