コード例 #1
0
        public override bool OnCreateOptionsMenu(IMenu menu)
        {
            int group = 0;

            IMenuItem item = menu.Add(group, SYNC_MENU, SYNC_MENU, "Sync");
            item.SetIcon(Android.Resource.Drawable.IcMenuRotate);
            item.SetShowAsAction((int)ShowAsAction.IfRoom);

            SupportMenuInflater.Inflate(Resource.Menu.search_options_menu, menu);

            var searchManager = (SearchManager)GetSystemService(Context.SearchService);
            var search = (SearchView)menu.FindItem(Resource.Id.search).ActionView;
            var searchableInfo = searchManager.GetSearchableInfo(ComponentName);

            search.QueryHint = "Search Notes";
            search.SetIconifiedByDefault(true);
            search.QueryTextChange += (sender, e) =>
                {

                    //string val = search.Query.ToString();

                    //Dictionary<string, int> dict = new Dictionary<string, int>();
                    //foreach (var n in notesList)
                    //{
                    //    var all = n.NoteBody + " " + n.NoteTitle + " " + n.Scripture + " " + n.Title;
                    //    dict.Add(all, n.Id);
                    //}

                    //List<int> ids = new List<int>();
                    //foreach (var pair in dict)
                    //{
                    //    string value = pair.Value.ToString();

                    //    if (value.IndexOf(val, StringComparison.CurrentCultureIgnoreCase) != -1)
                    //    {
                    //        ids.Add(int.Parse(pair.Key));
                    //    }
                    //}

                    //FillDataWhileSearching(ids.ToArray());
                    //FillDataWhileSearching(search.Query.ToString());

                    if (notesAdapter != null)
                    {
                        Console.WriteLine(search.Query);
                        notesAdapter.Filter.InvokeFilter(search.Query);
                        ListAdapter = notesAdapter;
                    }
                };

            return base.OnCreateOptionsMenu(menu);
        }