在AutoCompleteTextView上使用文本/图像键/值对过滤Hashmap

时间:2016-08-08 18:55:52

标签: android arraylist hashmap adapter autocompletetextview

我正在尝试过滤掉不以autocompletetextview文本框中输入的文本开头的结果。初始hashmap通过asynctask加载,该asynctask在程序加载后在后台运行。这是我的performFilter代码:

   try{

                    // Note the clone - original list gets stripped
                    for(Iterator<Map.Entry<String, String>> it = dataToSearch.entrySet().iterator(); it.hasNext();)
                    {
                        Map.Entry<String, String> entry = it.next();
                        String lowercase = entry.getValue().toLowerCase();                           
if(lowercase.startsWith(constraint.toString().toLowerCase()))
                            searchMap.put(entry.getKey(), entry.getValue());
                            it.remove();

                    }

                }catch (Exception e){
                    Log.d("HUS","EXCEPTION "+e);
                }
                FilterResults filterResults = new FilterResults();
                filterResults.values = searchMap;
                filterResults.count = searchMap.size();

我的问题是,初始哈希映射的所有结果都显示出来,或者没有结果显示出来。我可能做错了什么?当初始hashmap发生更改时,异步任务会调用adapter.notifyDatasetChanged,但我仍然认为过滤结果将基于textview中的文本开头。任何帮助表示赞赏。

0 个答案:

没有答案