2016-05-06 3 views
1

Я применил класс фильтра в своем приложении для фильтрации ListView. Теперь я хочу добавить все элементы expressionlist в ListView, когда пользователь вводит и не соответствует фильтру, вместо отображения ListView в пробеле.
Как я могу это сделать? Мне нужна помощь.Как добавить все элементы, если они не соответствуют фильтру?

ответ

1

После фильтрования по ключевому слову поиска. Вы можете проверить размер массива результатов.
Если он пуст, добавьте данные, которые вы хотите отобразить, а затем notifyDataSetChanged

public void filter(String charText) { 
     charText = charText.toLowerCase(Locale.getDefault()); 
     expressionlist.clear(); 
     if (charText.length() == 0) { 
      ... 
     } else { 
      ... 
     } 

     if(expressionlist.size() == 0){ 
      // add all items of expressionlist 
     } 
     notifyDataSetChanged(); 
    } 
} 
0
public void filterData(String strSearch) { 

     strSearch = strSearch.toLowerCase(); 
     arrList.clear(); 

     if (strSearch.isEmpty()) { 
      arrList.add()//add your main arrmainlist 
     } else { 

      String usernameArr[] = strSearch.split(" "); 

      for (String query : usernameArr) { 
       for (upto your arrlist size) { 
        like if (data.getQues().toLowerCase().contains(keyWord.toLowerCase()) 
         || data.getAns().toLowerCase().contains(keyWord.toLowerCase())) { 
        if (!tempList.contains(data)) { 
         tempList.add(data); 
        } 
        if (newList.size() > 0) { 
         check your temp list already in your arraylist/hashmap. 

Затем добавить к основному ArrayList/HashMap }}

  } 

     } 
     notifyDataSetChanged(); 
Смежные вопросы