Nullpointerexception At Lazyadapter
I am trying to perform a search on LazyAdapter class by creating a custom Filter. But when I am trying to perform the search by using the TextWatcher, the application is forcing cl
Solution 1:
To retain data items after you clear search edittext, below code is useful. Hope this helps you.
public Filter getFilter() 
{
    Filter filter = new Filter() 
    {           
        @SuppressWarnings("unchecked")
        @Override
        protectedvoidpublishResults(CharSequence constraint, FilterResults results) 
        {
            System.out.println(" --- constraint in publishResults --- "+constraint+" - results - "+results);
            itemDetailList = (List<Dish>)results.values;
            notifyDataSetChanged();
        }
        @Override
        protected FilterResults performFiltering(CharSequence constraint) 
        {
            FilterResults filterResults = new FilterResults();
            List<Dish> filtered_list = new ArrayList<Dish>();
            if(originalItemsDetails == null)
            {
                System.out.println(" --- originalItemsDetails IS NULL --- ");
                originalItemsDetails = new ArrayList<Dish>(itemDetailList);
            }
            else
            {
                System.out.println(" --- originalItemsDetails NOT NULL --- ");
            }
            if(constraint == null || constraint.length() == 0) 
            {
                filterResults.count = originalItemsDetails.size();
                filterResults.values = originalItemsDetails;
            } 
            else 
            {
                constraint = constraint.toString().toLowerCase();
                for(int i=0; i<originalItemsDetails.size(); i++) 
                {
                    String dataNames = originalItemsDetails.get(i).getDishName().toLowerCase();
                    if(dataNames.startsWith(constraint.toString()))  
                    {
                        filtered_list.add(originalItemsDetails.get(i));
                    }
                }
                filterResults.count = filtered_list.size();
                System.out.println(" --- filterResults.count --- "+filterResults.count);
                filterResults.values = filtered_list;
                System.out.println(" --- filterResults.values --- "+filterResults.values);
            }
            System.out.println(" --- constraint in performFiltering --- "+constraint);
            return filterResults;
        }
    };
    return filter;
}
Solution 2:
Are you sure your name_org and s variables are not null???
You have to first check it, like,
if(name_org != null && s != null)
{
 if(name_org.contains(s))
 {
 // Your other stuff goes here...
 .
 .
 }
}
Solution 3:
I think s is null, have you checked it. Because contains method throws NPE even if charsequence that you pass is null
Post a Comment for "Nullpointerexception At Lazyadapter"