2016-07-03 2 views
0

Я создал SearchActivity основанную на RecyclerView, который должен искать через ArrayList<>, что я заявил в моем MainActivityКак реализовать SearchView в Android

public class SearchActivity extends ListActivity { 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     handleIntent(getIntent()); 
    } 

    public void onNewIntent(Intent intent) { 
     setIntent(intent); 
     handleIntent(intent); 
    } 

    public void onListItemClick(ListView l, View v, int position, long id) { 
     //DA IMPLEMENTARE: chiama accordo activity 
     // do not care about this method, I'll implement it later 
    } 

    private void handleIntent(Intent intent) { 
     if(Intent.ACTION_SEARCH.equals(intent.getAction())) { 
      String query = intent.getStringExtra(SearchManager.QUERY); 
      doSearch(query); 
     } 
    } 

    private void doSearch(String queryStr) { 
     // I think I should implement an adapter here 
    } 

} 

Я думаю, что я должен осуществить что-то в методе doSearch(), но я не знаю, как это сделать. Я бы очень признателен, если бы вы могли мне помочь

ответ

1

Вы должны использовать фильтр и реализовать Filterable на вашем адаптере RecyclerView. Проверьте это link. или проверьте это tutorials, если вы не хотите использовать способ фильтра

+0

благодарим за ответ! должен ли я создать новый класс под названием SearchFilter, а затем реализовать его в методе 'doSearch()? – Daniele

+0

Нет, используйте 'onQueryTextChange' в методе' doSearch'. проверьте реализацию здесь http://stackoverflow.com/questions/30398247/how-to-filter-a-recyclerview-with-a-searchview/30429439#30429439 –

+0

Мне все еще нужно настроить адаптер правильно? – Daniele

Смежные вопросы