上一节对欢迎模块进行了综述(可参见 2. 欢迎模块 进行了解),接下来将从首页模块开始详细介绍:
知识点:
- 掌握 Python学科模块的开发,实现界面的显示
- 掌握首页界面与Python学科界面的数据获取与数据解析逻辑流程
Python学科:
任务综述:
在项目中,点击首页中的四个学科(Python、Java、PHP、Android)按钮,分别会跳转到对应学科的界面,该界面展示的是对应学科在全国各个分校的开班地址和开班情况等信息,各个学科界面的数据以JSON格式存放在Tomcat服务器,在各个界面的逻辑代码中,调用gson库解析获取的JSON数据并展示在对应学科的界面上。
1. “Python学科”界面
任务分析:
首页中的四个学科(Python、Java、PHP、Android)按钮,分别会跳转到对应学科的界面,该界面展示的是对应学科在全国各个分校的开班地址和开班情况等信息,此处以Python学科为例,界面如图所示。

任务实施:
(1)创建“Python学科”界面。在com.XXXX.newsdemo.activity包中创建PythonActivity,该界面与首页界面新闻列表的布局类似,因此该界面调用首页界面的布局文件fragment_home.xml。
(2)导入界面图片。(fire_icon)
(3)修改fragment_home.xml。由于Python学科设有标题栏,而fragment_home.xml文件中只有下拉刷新与WrapRecyclerView列表,因此需要在该文件的com.itheima.PullToRefreshView控件上方引入标题栏。
<include layout="@layout/main_title_bar" />
(4)修改HomeFragment类。由于fragment_home.xml文件引入了标题栏,但是首页吧界面的新闻列表不能显示标题栏,因此需要在首页界面的逻辑代码中把标题栏设置为不可见的状态,找到该文件的“private HomeListAdapter adapter;”语句下方添加如下代码:
private RelativeLayout rl_title_bar;
在该文件的initView()方法中的“View view = inflater.inflate(R.layout.fragment_home,container,false);”语句下方添加如下代码:
rl_title_bar = (RelativeLayout) view.findViewById(R.id.title_bar);
rl_title_bar.setVisibility(View.GONE);
2. “Python学科”界面Item
任务分析:
“Python学科”界面通过使用WrapRecyclerView控件展示开班信息列表,因此需要创建一个该列表的Item界面。在Item界面中需要展示开班地址,开班内容以及“火”的图标,界面效果如图所示。