NullPointer Exception While Doing Search Feature for ListView With BaseAdapter

前端 未结 3 1803
误落风尘
误落风尘 2021-01-27 20:32

I just finished adding a search feature to my android widget to search through a list of the users installed applications. My app installs fine and everything but when I go to s

3条回答
  •  青春惊慌失措
    2021-01-27 21:16

    Add this code before for loop:

    if (constraint.length() == 0) {
    myFilteredAppList.addAll(originalListAppInfo);
    } 
    

    i.e

    @Override
        public Filter getFilter() {
            if(filter == null) {
                filter = new Filter() {
                    @Override
                    protected FilterResults performFiltering(CharSequence constraint) {
                        FilterResults results = new FilterResults();
                        List myFilteredAppList = new ArrayList();
                        constraint = constraint.toString().toLowerCase();
    
                         if (constraint.length() == 0) {
                             myFilteredAppList.addAll(originalListAppInfo);
                            } 
    
                        for (ApplicationInfo appInfo : originalListAppInfo) {
                            String somefield = appInfo.name;
                            if (somefield.toLowerCase().contains(constraint.toString())) {
                                myFilteredAppList.add(appInfo);
                            }
                        }
                        results.count = myFilteredAppList.size();
                        results.values = myFilteredAppList;
                        return results;
                    }
    
                    @Override
                    protected void publishResults(CharSequence constraint, FilterResults results) {
                        mListAppInfo = (List)results.values;
                        notifyDataSetChanged();
                    }
                };
            }
            return filter;
        }
    

提交回复
热议问题