コード例 #1
0
        private async Task GetTags(bool clear, bool isLoaderNeeded = true)
        {
            CheckQueryIsEmpty();
            if (clear)
            {
                if (_prevQuery.ContainsKey(_searchType) && string.Equals(_prevQuery[_searchType], _searchView.Text, StringComparison.OrdinalIgnoreCase))
                {
                    return;
                }

                if (_searchType == SearchType.People)
                {
                    _searchFacade.UserFriendPresenter.Clear();
                }
                else
                {
                    _searchFacade.TagsPresenter.Clear();
                }

                _scrollListner.ClearPosition();

                if (_prevQuery.ContainsKey(_searchType))
                {
                    _prevQuery[_searchType] = _searchView.Text;
                }
                else
                {
                    _prevQuery.Add(_searchType, _searchView.Text);
                }
            }

            if (isLoaderNeeded)
            {
                _emptyQueryLabel.Visibility = ViewStates.Invisible;
                if (_searchType == SearchType.People)
                {
                    _peopleSpinner.Visibility = ViewStates.Visible;
                }
                else
                {
                    _tagSpinner.Visibility = ViewStates.Visible;
                }
            }

            var error = await _searchFacade.TrySearchCategories(_searchView.Text, _searchType);

            if (!IsInitialized)
            {
                return;
            }
            CheckQueryIsEmpty();
            Context.ShowAlert(error, ToastLength.Short);
        }
コード例 #2
0
 private void OnRefresh(object sender, EventArgs e)
 {
     _scrollListner.ClearPosition();
     Presenter.Clear();
     LoadPosts();
 }