我的应用程序已经正常运行。我需要为它实现快速搜索功能。快速搜索我的意思是当用户输入我想要获取的每个字符时。我的活动是一个列表活动,数据来自数据库查询。假设列表视图有50个项目,当用户使用word搜索“test”时,我想查询数据库并过滤项目并将其显示在同一列表视图中。像android中的联系人搜索一样。请让我知道如何实现这一点。快速的样本将是完整的。谢谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
我在之前的应用中实现了此功能。整个代码太长,无法粘贴在这里。所以,我已经发布了它的一些部分。您可以阅读一些关于我使用的方法,并为您的应用程序完成它。
EditText filterText;
words = new MySimpleCursorAdapter(Main.this, R.layout.emptylist, temp, from, to);
filterText= (EditText) findViewById(R.id.search_box);
filterText.addTextChangedListener(filterTextWatcher);
words.setFilterQueryProvider(new FilterQueryProvider() {
@Override
public Cursor runQuery(CharSequence constraint) {
Cursor cur=mDbHelper.fetchSugNotes(filterText.getText().toString());
return cur;
}
});
private TextWatcher filterTextWatcher = new TextWatcher() {
public void afterTextChanged(android.text.Editable s) {
};
public void beforeTextChanged(CharSequence s, int start, int count, int after) {};
public void onTextChanged(CharSequence s, int start, int before, int count) {
words.getFilter().filter(s.toString());
};
};