protected void RefineSearchItems() { if (searchBar.Text == "") { TableView.Source = null; TableView.ReloadData(); Console.WriteLine("Cancelled"); } else { if (PublicationsViewController.NetworkAvailable()) { _parser.SendSearchParameters(publications => InvokeOnMainThread(() => { TableView.Source = new PublicationsViewSource(publications, NavigationController); TableView.ReloadData(); }), searchBar.Text, state => InvokeOnMainThread(() => { var alert = new UIAlertView("Error".t(), "ErrorMessage".t(), null, "Ok", null); //alert.Clicked += (sender, e) => UIApplication.SharedApplication.PerformSelector(new Selector("terminateWithSuccess"), null, 0f); alert.Show(); })); } else { _parser.LocalSearch(publications => InvokeOnMainThread(() => { TableView.Source = new PublicationsViewSource(publications, NavigationController); TableView.ReloadData(); }), searchBar.Text); } } }
void HandleIntent(Intent intent) { if (Intent.ActionSearch.Equals(intent.Action)) { var query = intent.GetStringExtra(SearchManager.Query); var suggestions = new SearchRecentSuggestions(this, SuggestionProvider.Authority, SuggestionProvider.Mode); suggestions.SaveRecentQuery(query, null); var parser = new PublicationsParser(); SetTitle(Resource.String.search_results); mDrawerList.SetItemChecked(0, false); var publicationsList = FindViewById <ListView> (Resource.Id.Publications); SetProgressBarIndeterminateVisibility(true); LoadingView = FindViewById <LinearLayout> (Resource.Id.load_status); publicationsList.Visibility = ViewStates.Gone; LoadingView.Visibility = ViewStates.Visible; if (cnHelper.NetworkAvailable()) { parser.SendSearchParameters(publications => RunOnUiThread(() => { var adapter = new PublicationsListAdapter(this.LayoutInflater, publications); publicationsList.Adapter = adapter; publicationsList.ItemClick += (sender, e) => { var pub = adapter.Publications [e.Position]; var myIntent = new Intent(this, typeof(PublicationActivity)); myIntent.PutExtra("remote_id", pub.RemoteId); StartActivity(myIntent); }; SetProgressBarIndeterminateVisibility(false); LoadingView.Visibility = ViewStates.Gone; publicationsList.Visibility = ViewStates.Visible; }), query, state => RunOnUiThread(() => { var builder = new AlertDialog.Builder(this); builder.SetMessage(Resource.String.connection_error).SetTitle(Resource.String.error); builder.SetPositiveButton(Resource.String.ok, delegate { LoadingView.Visibility = ViewStates.Gone; publicationsList.Visibility = ViewStates.Visible; FragmentManager.BeginTransaction().Replace(Resource.Id.content_frame, pubs).Commit(); SetProgressBarIndeterminateVisibility(false); }); var alert = builder.Create(); alert.Show(); //Toast.MakeText (this, Resource.String.connection_error, ToastLength.Short).Show (); })); } else { parser.LocalSearch(publications => RunOnUiThread(() => { var adapter = ((PublicationsListAdapter)publicationsList.Adapter); adapter.Publications = publications; adapter.NotifyDataSetChanged(); publicationsList.ItemClick += (sender, e) => { var pub = adapter.Publications [e.Position]; var myIntent = new Intent(this, typeof(PublicationActivity)); myIntent.PutExtra("pub_id", pub.Id); StartActivity(myIntent); }; // FrameView.Visibility = ViewStates.Visible; LoadingView.Visibility = ViewStates.Gone; }), query); } } }