继续昨天的讲解,昨天讲到了在Main.java中实现了一个广播接收程序,之后,是一系列的初始化操作
一、网络连接的判断
这里的appContext是一个全局的应用程序类,是Application类的子类,关于Application,官方的解释是:
再来看isNetworkConnected方法
该方法首先获得ConnectivityManager,然后获得NetworkInfo来判断网络是否可用,很简单,只是简单的API调用,关于getSystemService的深入讲解,以后会讲到
二、页面数据的初始化
判断完网络及初始化登录信息后,接下里便进入了重点:页面数据的初始化
1.初始化头部视图
该段代码主要初始化了一些头部页面的数据,并设置了某些按钮的点击事件,包括搜索(资讯页面)、发帖(问答页面)、发布动弹(动弹页面)
2.初始化底部栏
特别注意fbSetting,点击该按钮会弹出一个自定义的对话框
实现这一效果的代码如下:
mGrid是一个在定义的UI,继承于PopupWindow(关于更多PopupWindow介绍),即弹出对话框
那么,mGrid是在哪里初始化的呢?
可以看到在此初始化了,并设置了相应的监听器
接下来是initPageScroll方法,该方法用于初始化整个app的水平滚动分页,要值得注意的是
这里为什么要*2?
请看footer的布局文件内容
button与button之间隔了一个imageview,所以这里要乘2
默认显示第一页(即第一个footer的icon为选中状态,不幸可在此处改为其他数值查看)
最后是初始化页面相关内容,并在不同tab页跳转时设置底部菜单的选中状态
紧接着时初始化各个主页的按钮
初始化通知信息标签控件
初始化所有的listview
好了,这就是今天要讲的初始化相关的内容!