2016-04-13 16 views
0

Ben sorun gibi görünüyor ne olduğunu anlamaya çalışıyorum, ama temelde ben görüntüleri ve metin olan özel bağdaştırıcıyı kullanan liste listemi filtrelerim. ilk defa çalışmalarını ör. Etkinlik ilk kez çalıştırıldığında tüm verilere sahip olduğunda ve arama kutusuna bir şey yazdığımda onu filtreler. ama sonra oradan başka bir şey girersem, herhangi bir şey yazmaz ve veriyi tutan dizi boştur. Her türlü önerinize açığız.android filter listview sadece ilk arama için çalışıyor

filtre kod parçası

@Override 
    public Filter getFilter() { 

     Filter filter = new Filter() { 

      @SuppressWarnings("unchecked") 
      @Override 
      protected void publishResults(CharSequence constraint, FilterResults results) { 

       data= (List<Data>) results.values; 
       notifyDataSetChanged(); 
      } 

      @Override 
      protected FilterResults performFiltering(CharSequence constraint) { 

       FilterResults results = new FilterResults(); 
       ArrayList<Item> FilteredArrayNames = new ArrayList<Item>(); 

       // perform your search here using the searchConstraint String. 

       constraint = constraint.toString().toLowerCase(); 
       for (int i = 0; i < data.size(); i++) { 
        Item dataNames = data.get(i); 
        if (dataNames.title.toLowerCase().contains(constraint.toString())) { 
         FilteredArrayNames.add(dataNames); 
        } 

       } 

       results.count = FilteredArrayNames.size(); 
       results.values = FilteredArrayNames; 
       Log.e("VALUES", results.values.toString()); 

       return results; 
      } 
     }; 

     return filter; 
    } 

aktivitesi kod parçası

text =(SearchView)findViewById(R.id.searchData); 

     text.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
      @Override 
      public boolean onQueryTextSubmit(String query) { 
       return false; 
      } 

      @Override 
      public boolean onQueryTextChange(String newText) { 

       adapter.getFilter().filter(newText.toString()); 
       return true; 
      } 
     }); 

cevap

0

() metodu onQueryTextChange yanlış geri deneyin.

+0

sorunu hala devam ediyor, ilk kez ve boş diziyi oradan filtreler –