需求:
同一用户切换到我的账单tab时首次刷新,以后切换到本tab时载入缓存页不进行刷新或下拉刷新,然后注销,换号登录,再切换到账单tab时自动刷新,其后换到其他tab再切回来的时候不再自动刷新,即每个用户载入本tab时都是首次刷新,其后需要显示都是载入缓存执行onResume()。
fragmentactivity的生命周期,从其他activity跳转到tab页的fragmentactivity时,依次执行onStart()→onResume(),单纯tab间切换时只执行onResume()。
private static String userCreateMeSsid=""; private static boolean isUserNew=false; /** * 该用户登录后是否是第一次进入订单管理activity,1为是 */ public static int flagFirstShow=1;
@Override protected void onStart() { Log.d("onStart(): In"); //记录首次创建本activity的用户 if (userCreateMeSsid.equals("") && UserInfo.SSID != null && !UserInfo.SSID.equals("")) { userCreateMeSsid = UserInfo.SSID; } //判断两次登录的是不是同一个用户 if(!userCreateMeSsid.equals(UserInfo.SSID)){ isUserNew=true; } super.onStart(); }
@Override protected void onResume() { if (!"03".equals(UserInfo.IDENTITYVALIDSTAT)) { mVAAccountDetail.setVisibility(View.GONE); } else { mVAAccountDetail.setVisibility(View.VISIBLE); } if (isUpdateError) { orderPageNo = 1; isRefresh = true; // 启动时更新数据 getTuanGouList(requestData(PAY_STATE, orderPageNo)); }else if(UserInfo.HASLOGIN==false){ getTuanGouList(requestData(PAY_STATE, orderPageNo)); }else if(flagFirstShow==1){ flagFirstShow=0;//从登录页更改换号登录标识位 getTuanGouList(requestData(PAY_STATE, orderPageNo)); } Log.d("onResume(): In"); // 换号登陆刷新交易列表 if (UserInfo.HASLOGIN==true && isUserNew==true) { isUserNew=false; orderPageNo = 1; paylist.clear(); payAdapter.updateList(paylist); payAdapter.notifyDataSetChanged(); moreOrderUpdateLayout.setVisibility(View.GONE); // isRefresh = true; // 刷新交易列表 getTuanGouList(requestData(PAY_STATE, orderPageNo)); } super.onResume(); }