示例#1
0
        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);
            }
        }
示例#2
0
        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);
                    });
                }
            }
        }