碎片
碎片总是依附于活动而存在的,可以在活动中随时动态添加
onAttah()当碎片与活动建立关联的时候调用onCreateView为碎片创建视图(加载布局)时调用onActivityView确保与碎片相关联的活动一定已经创建完毕的时候调用onDestroyView当与碎片关联的视图被移除的时候调用onDetach当碎片和活动解除关联的时候调用
碎片的最佳实践
- 新闻实体类
News - 新闻内容碎片布局文件
news_content_frag.xml,线性垂直布局,包含标题news_title,内容news_content - 新闻内容碎片类
NewsContentFragment,私有属性view,链接到新闻内容碎片布局文件news_content_frag.xml,提供一个刷新函数refresh,刷新标题和内容 - 新闻内容活动类
NewsContentActivity,绑定到news_content.xml新闻内容布局文件,布局中直接引用新闻内容碎片类布局news_content_frag.xml - 新闻内容活动类提供
actionStart函数和onCreate函数,actionStart中传入标题内容,onCreate中获取到标题内容然后进行显示 - 新闻列表碎片布局
news_title_frag.xml,使用recycleView用于显示新闻标题列表 - 新闻标题项布局
news_item.xml,显示新闻标题 - 新闻列表碎片类
NewsTitleFragment,私有属性isTwoPane,绑定到news_title_frag.xml布局 - 分别新建
/layout/activity_main.xml和/layout-sw600dp/activity_main.xml,分别用于单页和双页布局 - 修改新闻列表碎片类
NewsTitleFragment,添加NewsAdapter作为RecyclerView的适配器,注册点击事件
动态注册广播
- 继承
BroadcastReceiver类,并实现onReceive方法 - 新建
IntentFilter对象,并添加action,即想要接受的广播类型 - 使用
registerReceiver注册广播,在onDestroy()中取消注册广播
git
