Android应用开发基础Android应用开发基础 (11).pdf

上传人:刘静 文档编号:57971893 上传时间:2022-11-06 格式:PDF 页数:24 大小:2.63MB
返回 下载 相关 举报
Android应用开发基础Android应用开发基础 (11).pdf_第1页
第1页 / 共24页
Android应用开发基础Android应用开发基础 (11).pdf_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《Android应用开发基础Android应用开发基础 (11).pdf》由会员分享,可在线阅读,更多相关《Android应用开发基础Android应用开发基础 (11).pdf(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 4.1 Fragment 本章内容本章内容 第第1节节 Fragment碎片组件碎片组件 第第2节节 ViewPager翻页组件翻页组件 4.1 Fragment4.1 Fragment 知识点预览知识点预览#知识点知识点 重点重点 难点难点 应用应用 说明说明 1 Fragment控件 熟练掌握Fragment控件的原理和静态加载方法 2 Fragment与 Activity通讯 熟练掌握Fragment与Activity;Fragment与Fragment之间进行数据交互的方法 3 Fragment动态加载 熟练掌握Fragment控件的动态加载方法 4.1 Fragment4.1 Fr

2、agment Fragment加载方式:静态加载;动态加载;Fragment静态加载 Fragment动态加载 Frament:Anroid 3.0后引入;嵌入在Acvitiy中的UI片段;Activity子模板和片段;嵌入到Activity中使用;Fragment拥有自己的生命周期 4.1 Fragment4.1 Fragment Fragment实现 布局分为三部分:主界面布局;Title布局;内容布局 实现分为三部分:主界面视图;TitleFragment类;ContentFragment类 4.1.1 Fragment4.1.1 Fragment生命周期生命周期 TitleFragme

3、nt的布局实现 fragment_title.xml布局包含两个Button 4.1.1 Fragment4.1.1 Fragment生命周期生命周期 TitleFragment的代码实现 1 TitleFragment初始化 public class public class TitleFragment extends extends Fragment private private String TAGTAG=;public public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedIn

4、stanceState)View view=inflater.inflate(R.layout.fragment_titlefragment_title,container,falsefalse);initView(view);TAGTAG=getClass().toString();Log.d(TAGTAG,onCreateView:onCreateView:);return return view;2 完成下列重载函数,并使用Log标签 protected void protected void onCreateView()protected void protected void onA

5、ctivityCreated()protected void protected void onStart()protected void protected void onResume()protected void protected void onPause()protected void protected void onStop()protected void protected void onDestroyView()protected void protected void onDestroy()protected void protected void onDetach()4.

6、1.1 Fragment4.1.1 Fragment生命周期生命周期 ContentFragment的布局实现 fragment_content.xml布局包含两个TextView 4.1.1 Fragment4.1.1 Fragment生命周期生命周期 ContentFragment的代码实现 1 ContentFragment初始化 public class public class ContentFragment extends extends Fragment private private String TAGTAG=;public public View onCreateView(

7、LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState)View view=inflater.inflate(R.layout.fragment_fragment_contentcontent,container,falsefalse);initView(view);TAGTAG=getClass().toString();Log.d(TAGTAG,onCreateView:onCreateView:);return return view;2 完成下列重载函数,并使用Log标签 protected void

8、protected void onCreateView()protected void protected void onActivityCreated()protected void protected void onStart()protected void protected void onResume()protected void protected void onPause()protected void protected void onStop()protected void protected void onDestroyView()protected void protec

9、ted void onDestroy()protected void protected void onDetach()4.1.1 Fragment4.1.1 Fragment生命周期生命周期 activity_main.xml布局实现-包含TitleFragment和ContentFragment 2 ContentContentFragmentFragment 1 TitleFragmentTitleFragment 4.1.1 Fragment4.1.1 Fragment生命周期生命周期 主视图MainAcvitiy实现 1 Activity初始化函数 public class publ

10、ic class MainActivity extends extends AppCompatActivity private private String TAGTAG=;protected void protected void onCreate(Bundle savedInstanceState)setContentView(R.layout.activity_mainactivity_main);TAGTAG=getClass().toString();Log.d(TAGTAG,onCreate:onCreate:);2 完成下列重载函数,并使用Log标签 protected void

11、 protected void onStart()protected void protected void onResume()protected void protected void onPause()void void onStop()protected void protected void onDestroy()protected void protected void onRestart()Log.d(TAGTAG,onRestart:onRestart:);4.1.1 Fragment4.1.1 Fragment生命周期生命周期 Frament:创建;开始;保持;暂停;停止;销

12、毁 4.1.1 Fragment4.1.1 Fragment生命周期生命周期 Fragment 创建,经历Created状态 Fragment可见,经历Started和Resume状态 Fragment进入后台模式,经历Paused和Stop状态 Fragmennt被销毁,经历Paused,Stopped和Destroy三种状态 TitleFragment的生命周期 TitleFragment的各种状态 4.1.1 Fragment4.1.1 Fragment生命周期生命周期 Fragment与Activity;Activity与Fragment 1 Fragment通过getActivity

13、获取当前的Activity 2 Activity通过findFragmentById获取指定的Fragment 4.1.2 Fragment4.1.2 Fragment通讯通讯 ContentFragment的实现 1 组件的初始化 private void private void initView(View view)mTxtTitle mTxtTitle=(TextView)view.findViewById(R.id.txt_titletxt_title);mTxtContent mTxtContent=(TextView)view.findViewById(R.id.txt_cont

14、enttxt_content);public void public void setData(String strTitle,String strContent)mTxtTitlemTxtTitle.setText(strTitle);mTxtContentmTxtContent.setText(strContent);2 效果实现 4.1.2 Fragment4.1.2 Fragment通讯通讯 TitleFragment的实现 1 组件的初始化 private void private void initView(View view)mBtnFrag1 mBtnFrag1=(Button

15、)view.findViewById(R.id.btn_frag1btn_frag1);mBtnFrag2 mBtnFrag2=(Button)view.findViewById(R.id.btn_frag2btn_frag2);mBtnFrag1mBtnFrag1.setOnClickListener(thisthis);mBtnFrag2mBtnFrag2.setOnClickListener(thisthis);2 Button的响应处理 public void public void onClick(View v)switch switch(v.getId()case case R.i

16、d.btn_frag1btn_frag1:setContent(strTitlestrTitle0,strContentstrContent0);breakbreak;private void private void setContent(String strTitle,String strContent)ContentFragment mContentFragment=(ContentFragment)getActivity().getSupportFragmentManager().findFragmentById(R.id.fragment_contentfragment_conten

17、t);mContentFragment.setData(strTitle,strContent);4.1.2 Fragment4.1.2 Fragment通讯通讯 第18页/共15页 请完成Fragment的通讯例子后提交!作答 正常使用主观题需2.0以上版本雨课堂 主观题 10分 Activity包含多个Fragment 1 Activity根据选项动态加载不同的Fragment 2 FrameLayout动态切换不同的布局 4.1.3 Fragment4.1.3 Fragment动态加载动态加载 布局实现 1 activity_main 中的FrameLayout 4.1.3 Fragme

18、nt4.1.3 Fragment动态加载动态加载 布局实现 1 activity_main 中的FrameLayout 2 main_fragment_layout1.xml布局 LinearLayout LinearLayout xmlns:xmlns:androidandroid=http:/ 4.1.3 Fragment4.1.3 Fragment动态加载动态加载 Fragment的动态加载 1 组件的初始化 private void private void replaceFragment(int int layout,Fragment fragment)FragmentManager

19、 manager=getSupportFragmentManager();FragmentTransaction fragmentTransaction=manager.beginTransaction();fragmentTransaction.replace(layout,fragment);fragmentTransaction.addToBackStack(nullnull);fragmentTmit();2 Button的响应处理 public void public void onClick(View v)switch switch(v.getId()case case R.id.

20、main_btn_1main_btn_1:replaceFragment(R.id.main_fmmain_fm,new new Fragment1();breakbreak;case case R.id.main_btn_main_btn_2 2:replaceFragment(R.id.main_fmmain_fm,new new Fragment2();breakbreak;4.1.2 Fragment4.1.2 Fragment通讯通讯 ContentFragment的实现 1 组件的初始化 2 效果实现 4.1.3 Fragment4.1.3 Fragment动态加载动态加载 第24页/共15页 请完成Fragment的动态加载实例后提交!作答 正常使用主观题需2.0以上版本雨课堂 主观题 10分

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁