場景再現(xiàn):當(dāng)我使用tabLayout+Fragment切換不同的fragment時(shí),出現(xiàn)了數(shù)據(jù)重復(fù)顯現(xiàn)的問題;
思考邏輯:
-每次切換fragment都會(huì)從頭獲取數(shù)據(jù),但是list調(diào)集是全局的,多切換兩次,list數(shù)據(jù)就會(huì)變多,所以需求加判別,當(dāng)list調(diào)集的數(shù)據(jù)超越第一次獲取下來list調(diào)集的數(shù)據(jù)的時(shí)分就clear,之后每次進(jìn)入fragment的時(shí)分initView都會(huì)履行,所以也會(huì)請(qǐng)求數(shù)據(jù),這時(shí)分我們?cè)黾右粋€(gè)boolean來判別;
解決方案:
if(!hidden){
if(isFirstHidden){
size=complaintList.size();
isFirstHidden=false;
}
if(complaintList.size()>size){
complaintList.clear();
}
showRv();
}
-這樣寫每次從頭進(jìn)去之后又不顯現(xiàn)數(shù)據(jù)了
1.定義變量privatebooleanhidden;
2.this.hidden=hidden;
3.實(shí)現(xiàn)OnResume()方法從頭獲取數(shù)據(jù);
“`@Override
publicvoidonHiddenChanged(booleanhidden){
super.onHiddenChanged(hidden);
this.hidden=hidden;
if(!hidden){
if(isFirstHidden){
size=complaintList.size();
isFirstHidden=false;
}
if(complaintList.size()>size){
complaintList.clear();
}
showRv();
}
}
@Override
publicvoidonResume(){
super.onResume();
if(!hidden){
showRv();
}
}
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長沙市天心區(qū)芙蓉中路三段398號(hào)新時(shí)空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運(yùn)營網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號(hào)