나는 RecyclerView
을 가지고 있으며 필터를 리사이클 항목과 해당 작업으로 검색하려고했지만 그 중 어떤 것을 입력하면 결과는 목록의 첫 번째 항목 일뿐입니다.필터 메소드는 첫 번째 항목 만 반환합니다.
이 필터 방법
private List<Data> filter(List<Data> datas, String newText) {
newText = newText.toLowerCase();
final List<Data> filteredModelList = new ArrayList<>();
for (Data data : datas) {
final String text = data.getTODO_TITLE().toLowerCase();
if (text.contains(newText)) {
filteredModelList.add(data);
}
}
return filteredModelList;
}
이며이 왜 매번 당신이 검색 어댑터의 새로운 인스턴스를 생성하는 메뉴
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_search, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
}
});
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return true;
}
@Override
public boolean onQueryTextChange(final String searchQuery) {
final List<Data> filteredModelList = filter(dbList, searchQuery);
filteredModelList.indexOf(searchQuery);
List <Data> search =filteredModelList;
todoRecyclerView.scrollToPosition(0);
recyclerAdapter = new TodoRecyclerAdapter(search);
recyclerAdapter.notifyDataSetChanged();
return false;}});
MenuItemCompat.setOnActionExpandListener(searchItem, new MenuItemCompat.OnActionExpandListener() {
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
return true;
}
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
return true;
}
});
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_search) {
return true;
}
return super.onOptionsItemSelected(item);
}}
recyclerAdapter = new TodoRecyclerAdapter(search);
이 대신 한 번에 만들고 전화, 왜 당신은 그것을 사용 해달라고? – pskink
나는 어댑터를 사용하는 방법을 알 수 없으며 다른 방법을 사용하려고했습니다. –
당신은 무엇을 알고 있습니까? 단지'add()'를 만들고,'setAdapter' 메쏘드에서 그것을 사용합니다. 3 단계에서 불분명 한 것은 무엇입니까? – pskink