从 ArrayAdapter 获取过滤结果



安卓中使用TextWatcher过滤ArrayAdapter<String>后,如何获得新的结果ArrayList<String>

以下是我使用名为 edtSearchEditText 变量中的文本过滤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));
}

相关内容

  • 没有找到相关文章

最新更新