Beispiel #1
0
        private void spinner2_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e)
        {
            switch (_spinner1Choose)
            {
            case "Popularity":
            {
                if (_spinner2.GetItemAtPosition(e.Position).ToString() == "Most popular in top")
                {
                    _allBooksListAdapter = new ListAdapterLibrary(this, _allBooks.OrderByDescending(b => b.BookInfo.Popularity).ToList());
                }
                else
                {
                    _allBooksListAdapter = new ListAdapterLibrary(this, _allBooks.OrderBy(b => b.BookInfo.Popularity).ToList());
                }

                _allBooksListView.Adapter = _allBooksListAdapter;
                break;
            }

            case "Genre":
            {
                _allBooksListAdapter      = new ListAdapterLibrary(this, _allBooks.Where(b => b.BookInfo.Category == _spinner2.GetItemAtPosition(e.Position).ToString()).ToList());
                _allBooksListView.Adapter = _allBooksListAdapter;
                break;
            }

            case "Author":
            {
                _allBooksListAdapter      = new ListAdapterLibrary(this, _allBooks.Where(b => b.BookInfo.Author == _spinner2.GetItemAtPosition(e.Position).ToString()).ToList());
                _allBooksListView.Adapter = _allBooksListAdapter;
                break;
            }
            }
        }
Beispiel #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_search);
            _requestSender = new RequestSender();
            _allBooks      = _requestSender.SendGetBooksRequest();

            //-------------Fill list of books------------------------------
            _allBooks                 = _allBooks.OrderByDescending(b => b.BookInfo.Popularity).ToList();
            _allBooksListView         = FindViewById <ListView>(Resource.Id.lstSearch);
            _allBooksListAdapter      = new ListAdapterLibrary(this, _allBooks);
            _allBooksListView.Adapter = _allBooksListAdapter;


            //---------Spinner------------------------------
            _spinner               = FindViewById <Spinner>(Resource.Id.spinner);
            _spinner.Prompt        = "Search by";
            _spinner.ItemSelected += new EventHandler <AdapterView.ItemSelectedEventArgs>(spinner_ItemSelected);
            _adapter               = ArrayAdapter.CreateFromResource(this, Resource.Array.Counter, Android.Resource.Layout.SimpleSpinnerItem);
            _adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
            _spinner.Adapter = _adapter;
            _spinner1Choose  = "Popularity";

            //---------Spinner2--------------------------------
            _spinner2               = FindViewById <Spinner>(Resource.Id.spinner2);
            _spinner2.Prompt        = "Choose filter option";
            _spinner2.ItemSelected += new EventHandler <AdapterView.ItemSelectedEventArgs>(spinner2_ItemSelected);
            _adapter2               = ArrayAdapter.CreateFromResource(this, Resource.Array.ByPopularity, Android.Resource.Layout.SimpleSpinnerItem);
            _adapter2.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
            _spinner2.Adapter = _adapter2;
        }
Beispiel #3
0
        private void spinner_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e)
        {
            switch (_spinner.GetItemAtPosition(e.Position).ToString())
            {
            case "Popularity":
            {
                _adapter2 = ArrayAdapter.CreateFromResource(this, Resource.Array.ByPopularity, Android.Resource.Layout.SimpleSpinnerItem);
                _adapter2.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
                _spinner2.Adapter = _adapter2;

                _allBooksListAdapter      = new ListAdapterLibrary(this, _allBooks.OrderByDescending(b => b.BookInfo.Popularity).ToList());
                _allBooksListView.Adapter = _allBooksListAdapter;
                _spinner1Choose           = "Popularity";
                break;
            }

            case "Genre":
            {
                _adapter2 = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerItem,
                                                      _allBooks.Select(b => b.BookInfo.Category).Distinct().ToList());
                _adapter2.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
                _spinner2.Adapter = _adapter2;
                _spinner1Choose   = "Genre";
                break;
            }

            case "Author":
            {
                _adapter2 = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerItem,
                                                      _allBooks.Select(b => b.BookInfo.Author).Distinct().ToList());
                _adapter2.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
                _spinner2.Adapter = _adapter2;
                _spinner1Choose   = "Author";
                break;
            }
            }
        }