public override async void OnViewCreated(View view, Bundle savedInstanceState) { base.OnViewCreated(view, savedInstanceState); try { this.HasOptionsMenu = true; swipeRefreshLayout = view.FindViewById <SwipeRefreshLayout>(Resource.Id.swipeRefreshLayout); swipeRefreshLayout.SetColorSchemeResources(Resource.Color.primary); swipeRefreshLayout.SetOnRefreshListener(this); recyclerView = view.FindViewById <RecyclerView>(Resource.Id.recyclerView); var manager = new LinearLayoutManager(this.Activity); recyclerView.SetLayoutManager(manager); adapter = new StatusAdapter(); adapter.SetOnLoadMoreListener(this); adapter.OnDeleteClickListener = this; adapter.User = await SQLiteUtils.Instance().QueryUser(); recyclerView.SetAdapter(adapter); nologinView = this.Activity.LayoutInflater.Inflate(Resource.Layout.nologin_view, (ViewGroup)recyclerView.Parent, false); nologinView.Click += delegate(object sender, EventArgs e) { StartActivityForResult(new Intent(this.Activity, typeof(AuthorizeActivity)), (int)RequestCode.LoginCode); }; notDataView = this.Activity.LayoutInflater.Inflate(Resource.Layout.empty_view, (ViewGroup)recyclerView.Parent, false); notDataView.Click += delegate(object sender, EventArgs e) { OnRefresh(); }; errorView = this.Activity.LayoutInflater.Inflate(Resource.Layout.error_view, (ViewGroup)recyclerView.Parent, false); errorView.Click += delegate(object sender, EventArgs e) { OnRefresh(); }; recyclerView.Post(async() => { if (position == 0) { await statusesPresenter.GetClientStatus(); } else if (!LoginUtils.Instance(this.Activity).GetLoginStatus()) { recyclerView.Post(() => { adapter.SetEmptyView(nologinView); }); } }); } catch (Exception ex) { MobclickAgent.ReportError(Context, ex.Message + ex.StackTrace); } }
public void OnRefresh(bool isRefresh) { if (position == 0) { if (isRefresh) { GetServiceData(); } else if (refreshTime.AddMinutes(15) < DateTime.Now) { //获取数据 GetServiceData(); } } else { if (LoginUtils.Instance(this.Activity).GetLoginStatus()) { if (isRefresh) { GetServiceData(); } else if (refreshTime.AddMinutes(15) < DateTime.Now) { //获取数据 GetServiceData(); } } else { swipeRefreshLayout.Refreshing = false; recyclerView.Post(async() => { adapter.User = await SQLiteUtils.Instance().QueryUser(); adapter.SetNewData(new List <StatusModel>()); adapter.SetEmptyView(nologinView); }); } } }