1.整体分析

1.1.作用讲解

  这个类没有用到,只是一个备用的。

  分类列表,用于定制首页内容

  考虑到节点列表一般不会变化,所以直接将数据封装在客户端中,可以直接查看,提高效率。

1.2.整体分析

  

  首先是新建这个碎片实例。

  然后是复写RefreshRecycleFragment中的抽象函数,最后执行的initData(),为了获得碎片的结点数据。

  然后是复写RefreshRecycleFragment中注册数据类型的抽象函数。

  最后是具体的Diycode请求函数。

2.局部分析

2.1.成员变量

   

   这里是一个临时变量+一个结点id,都是用来存储外部的传进来的东西。

2.2.静态函数,用来新建一个实例

  

  这里传入一个nodeId,从外部传进来的参数。

  然后利用碎片的setArguments方法来保存数据。

2.3.复写initData函数,这个是RefreshRecycleFragment最后要执行的方法。

  

  作用很简单,就是将外部传进来的Key_Node_ID用自己类中的变量存储

  然后去调用RefreshRecyclerFragment中的加载更多的函数。

2.4.注册数据类型

  

  这里注册数据类型为Topic,然后是Topic的数据内容提供器。都是自定义的。

2.5.最后是一个请求

  

  这里调用SDK的请求函数,返回字符串。

3.总结一下

3.1.这是一个调用SimpleRefreshRecyclerFragment<Topic,GetTopicsListEvent>的一个实例。如果要继承这个封装

  好的类,就是拥有上拉加载更多,下拉刷新的功能的碎片,用处应该很大了。

3.2.需要修改的地方有将T用一个Bean来代替,一般都是列表项的一个Bean。然后是一个继承BaseEvent<List<T>>

  的一个类,通常都很简单的两个类,可以参考一下这个SDK定义的BaseEvent。

3.3.然后比然要写的是一个newInstance了,它接收外部传进来的nodeId,然后利用碎片存储起来,碎片保存数据的

  方式就是fragment.setArguments(bundle),然后通过getArguments.get的方式可以获取存储的数据。

3.4.然后是在initData函数中来获取这个nodeId,这里调用了二级继承类RefreshRecyclerFragment中的loadMore

  函数,以及设置可以加载更多,可以刷新的功能。

3.5.然后必然的函数为setAdapterRegister,基本上每一个继承者都要实现,将需要的列表项,和列表项的内容提供器

  关联起来,以此表明列表的内容。

3.6.最后关键函数是request,主要作用就是进行SDK函数的请求,想要什么数据,直接在这里请求即可。

Diycode开源项目 NodeListFragment分析的更多相关文章

  1. Diycode开源项目 BaseApplication分析+LeakCanary第三方+CrashHandler自定义异常处理

    1.BaseApplication整个应用的开始 1.1.看一下代码 /* * Copyright 2017 GcsSloop * * Licensed under the Apache Licens ...

  2. DiyCode开源项目 BaseActivity 分析

    1.首先将这个项目的BaseActivity源码拷贝过来. /* * Copyright 2017 GcsSloop * * Licensed under the Apache License, Ve ...

  3. Diycode开源项目 ImageActivity分析

    1.首先看一下效果 1.1做成了一个GIF 1.2.我用格式工厂有点问题,大小无法调到手机这样的大小,目前还没有解决方案. 1.3.网上有免费的MP4->GIF,参考一下这个网站吧. 1.4.讲 ...

  4. Diycode开源项目 UserActivity分析

    1.效果预览 1.1.实际界面预览 1.2. 这是MainActivity中的代码 这里执行了跳转到自己的用户界面的功能. 1.3.点击头像或者用户名跳转到别人的页面 UserActivity的结构由 ...

  5. Diycode开源项目 TopicContentActivity分析

    1.效果预览以及布局分析 1.1.实际效果预览 左侧话题列表的布局是通过TopicProvider来实现的,所以当初分析话题列表就没有看到布局. 这里的话题内容不是一个ListView,故要自己布局. ...

  6. Diycode开源项目 LoginActivity分析

    1.首先看一下效果 1.1.预览一下真实页面 1.2.分析一下: 要求输入Email或者用户名,点击编辑框,弹出键盘,默认先进入输入Email或用户名编辑框. 点击密码后,密码字样网上浮动一段距离,E ...

  7. Diycode开源项目 MainActivity分析

    1.分析MainActivity整体结构 1.1.首先看一下这个界面的整体效果. 1.2.活动源代码如下 /* * Copyright 2017 GcsSloop * * Licensed under ...

  8. DiyCode开源项目 AboutActivity分析

    1.首先看一下效果 这是手机上显示的效果: 1.1首先是一个标题栏,左侧一个左箭头,然后一个图标. 1.2然后下方是一个可以滑动的页面. 1.3分成了7个部分. 1.4DiyCode的图标. 1.5然 ...

  9. DiyCode开源项目 TopicActivity 分析

    1.首先看看TopActivity效果.    2.TopicActivity是一个继承BaseActivity的.前面分析过BaseActivity了.主要有一个标题栏,有返回的图标. 3.贴一下T ...

随机推荐

  1. sublime 常用快捷键(转)

    Sublime text 3是码农最喜欢的代码编辑器,每天和代码打交道,必先利其器,掌握基本的代码编辑器的快捷键,能让你打码更有效率.刚开始可能有些生疏,只要花一两个星期坚持使用并熟悉这些常用的快捷键 ...

  2. vue-extend 选项

    vue-extend 选项 mixins 和extend 很相似,但有区别: var extendNews={ //后来的内容用变量接收 updated:function(){ console.log ...

  3. 根据要求完成表单以及使用servlet处理表单 任务要求 掌握Servlet输出表单和接收表单数据(多值组件的读取)。

    Servlet代码: package com.test; import java.io.IOException; import java.io.PrintWriter; import java.uti ...

  4. Keymob带你玩转新广告法下的移动营销

    2015年9月1日新广告法正式实施,对广告代言人.广告类别.广告语等都做了一系列新规定,堪称有史以来最严广告法.随着新广告法的实施,以往一些庸俗.夸张的广告也逐渐和大众说再见了. 2015年 “互联网 ...

  5. Navicat for Oracle设置唯一性和递增序列

    [数据库] Navicat for Oracle基本用法图文介绍 一. 设置唯一性 参考文章:Oracle之唯一性约束(UNIQUE Constraint)用法详解唯一性约束英文是Unique Con ...

  6. spring 中使用quartz实现定时任务

    一般开发系统,使用定时任务非常常见.当然也可以用Java实现.比如定时器.大致如下: 1: public static void main(String[] args) { 2: Timer time ...

  7. hadoop上传文件失败报错(put: Cannot create file/eclipse.desktop._COPYING_. Name node is in safe mode.)

    解决办法: 离开安全模式方法:执行以下命令即可 bin/hadoop  dfsadmin -safemode leave 若不处理安全模式的话,web服务无法启动,dfsadmin report结果异 ...

  8. OpenSSL s_server / s_client 应用实例

    netkiller openssl tls 目录[-] 12.6. s_server / s_client 12.6.1. SSL POP3 / SMTP / IMAP 12.6.2. server ...

  9. 如何在ABAP Netweaver和CloudFoundry里记录并查看日志

    Netweaver 要记录日志需要有一个checkpoint group,可以自行创建也可以使用标准的.这里我重用标准的group:DEMO_CHECKPOINT_GROUP. tcode SAAB, ...

  10. java中list强转为map类型

    起因:读取数据库文件的测试用例,测试用例需要存放到一个map中,方便下次调用, 读取的内容返回的内容存放在一个list中,并且数据内容是key=value的形式,最开始使用切片方式,做了很多无用功,后 ...