本周總結(jié)
dp和sp,px一般用于xml資源文件,如果想在java代碼里使用的話,要注意的地方是setText()方法里填的是sp,你想放一個(gè)dp的數(shù)的話要先經(jīng)過dp2px,在經(jīng)過 px2sp方法轉(zhuǎn)化才行
Application類里保存全局變量有一個(gè)壞處就是,當(dāng)應(yīng)用長期在后臺(tái)運(yùn)行而被系統(tǒng)回收時(shí),或者是在應(yīng)用因?yàn)閎ug而崩潰時(shí),application實(shí)例會(huì)重新生成,因此全局變量會(huì)全部丟失,所以在app運(yùn)行時(shí),全局變量保存在shap或者文件或者數(shù)據(jù)庫里,然在application類的初始化onCreate方法里要做好recovery。
另外一個(gè)需要提醒的地方就是,當(dāng)只是簡單的退出app(沒有使用小米,華為的清理應(yīng)用后臺(tái)內(nèi)存的情況下,也即service在后臺(tái)運(yùn)行的情況下),application實(shí)例不會(huì)重新生成,但是application引用的全局變量或者application類里放置的靜態(tài)變量依舊會(huì)被回收,所以在WelcomeActivity(啟動(dòng)頁)里要做好判斷,一旦檢測application內(nèi)的全局變量丟失,則recovery一下再進(jìn)入主頁面。
butterknife目前只能綁定activity,fragment,adapter對(duì)應(yīng)的layout布局內(nèi)的控件,不能綁定listview里后來添加的headview
-
永遠(yuǎn)不要嘗試在Recyclerview外套用一個(gè)scrollview,你會(huì)發(fā)現(xiàn)recycleview的onscroll回調(diào)監(jiān)聽會(huì)被scrollview攔截,看如下代碼
recyclerView.setOnScrollListener( new RecyclerView.OnScrollListener() { @Override//在外面套著一個(gè)ScrollView的情況下,該方法將不會(huì)被回調(diào) public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); } } )
意味著你無法順利的使用下拉加載,當(dāng)然上拉刷新的話使用SwipeRefreshLayout就好
- recyclerview很適合顯示多種布局,因此加一個(gè)headerview也非常方便,只要在adapter里補(bǔ)充一下加了headerview的邏輯部分即可