[英]How to create nested listview with searchbar in android toolbar?
在適配器類中創建列表變量
List<DownloadedItems> downloadedItemsList= new ArrayList<>();
在你的構造函數中,請調用寫下這個
public DownloadListAdapter(Context context, int resource, ArrayList<DownloadedItems> object){
super(context,resource,object);
this.mcontext= context;
this.mResource=resource;
this.downloadedItemsList= object;
}
在適配器中創建獲取列表的方法
public void setData(List<DownloadedItems> modelList) {
this.downloadedItemsList= modelList;
notifyDataSetChanged();
}
現在使用新的過濾列表調用過濾器方法並將該列表傳遞給適配器方法
private void filter(String text) {
List<DownloadedItems> filteredList = new ArrayList<DownloadedItems>();
for (DownloadedItems la :langList) {
if (la.langName.toLowerCase().startsWith(text.toLowerCase())) {
filteredList.add(la);
}
adapter.setData(filteredList);
}
}
您可以根據需要將方法 .startsWith 更改為 .Contains 。 此方法返回以輸入的字符串開頭的項目。 langList 是我已經傳遞給適配器呈現的初始列表。
la.langName.toLowerCase().startsWith
這是過濾器查詢,我用來比較過濾器的項目。 我正在從列表中搜索語言名稱。 所以你可以根據你的要求進行修改。並調用方法過濾器
mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
filter(newText)
return true;
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.