我有自定义网格适配器,其中包含图像和文本(自定义对象),在Gridview之上我添加了Edittext,我想在用户在Edittext中输入文本时添加搜索功能。
任何帮助非常感谢。
答案 0 :(得分:4)
您可以使用TextWatcher侦听EditText上的文本更改,然后尽快更新GridView的内容。
// Perform search
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
performSearch(s.toString());
}
@Override
public void afterTextChanged(Editable s) { }
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
});
以某种方式过滤数据后,只需更新自定义适配器上设置的内容
即可// Changes the data used inside your custom adapter
public void update(ArrayList<MyDataClass> filteredDataList){
if(filteredDataList != null){
adapterDataList = filteredDataList;
}
}