做了幾年的開發,一直沒有做記錄的習慣,本來記憶就不太好,某些不常用的東西用過之後就丢。最近發現有些問題重複的出現,但是已經忘記了怎麼去處理,又要重新度一次,感覺非常浪費時間。希望能從現在開始将工作中遇到的問題和得到的收獲記錄下來,一是在自己以後再遇到的時候能夠快速有效的找到方案,二是希望能幫助和我遇到同樣問題的同僚們。
1,viewpager+fragment中有recycleView,發現fragment不顯示,報錯:No adapter attached:skipping layout,網上查了很多資料一直都是沒顯示,後來找了兩位大神幫忙看了一下,才發現是在fragment的onCreateView方法中沒有将view傳回。在此特地記錄一下,自己已扇幾個大巴掌。希望大家一定細心細心再細心。

2.Fragment 在橫豎屏切換的時候崩潰的問題,這個需要在fragment所在的activity中配置屬性:android:configChanges="orientation|screenSize"(menifest),并且在fragment中重寫onConfigurationChanged方法,在此方法中執行你要進行的操作。參考:fragment橫豎屏切換導緻崩潰
3.android.support.v4.widget.SwipeRefreshLayout進行頁面重新整理,大家都知道,SwipeRefreshLayout中隻能放一個滾動容器,但是有些需求中需要用到兩個recycleView(我的就是),然後就想到在外層再放一個ScrollView,不過肯定會滑動沖突,然後問了一下度娘,發現可以用android.support.v4.widget.NestedScrollView,但是如果不設定的話還是會卡頓,不流暢。需要分别對recycleView的layoutmanager進行設定,如下:
LinearLayoutManager manager=new LinearLayoutManager(getActivity()){
@Override
public boolean canScrollVertically() {
//解決ScrollView裡存在多個RecyclerView時滑動卡頓的問題
//如果你的RecyclerView是水準滑動的話可以重寫canScrollHorizontally方法
return false;//禁掉滾動
}
};
rcv1.setLayoutManager(manager);
rcv2.setLayoutManager(manager);
這樣隻有scrollView的滾動事件了,也就是兩個recycleView不能單獨滾動,看大家的需求。參考:https://www.jianshu.com/p/98f2fcfb0e22
4.fragment中嵌套fragment調用transaction.commit()出現如下錯誤,
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
解決方法:将commit()換成commitAllowingStateLoss (),參考如下:
解決java.lang.IllegalStateException: Can not perform this action after onSaveInstance