在
安卓中使用TextWatcher
过滤ArrayAdapter<String>
后,如何获得新的结果ArrayList<String>
?
以下是我使用名为 edtSearch
的 EditText
变量中的文本过滤ArrayAdapter<String>
的代码。搜索功能运行良好。我需要将过滤后的数据放入新ArrayList<String>
:
edtSearch.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
MainActivity.this.adapter.getFilter().filter(s);
}
@Override
public void afterTextChanged(Editable s) {
}
});
您可以遍历适配器并将剩余的结果添加到新List
:
List<String> results = new ArrayList<String>();
for(int i = 0; i < adapter.getCount(); i++) {
results.add(adapter.getItem(i));
}