1

私はすでに正常に動作しているアプリケーションを持っています。クイック検索機能を実装する必要があります。クイック検索とは、ユーザーが結果を取得したいすべての文字を入力することを意味します。マイアクティビティは、データベースクエリからデータが取得されるリストアクティビティです。リストビューに50個のアイテムがあり、ユーザーが「テスト」という単語で検索したときに、データベースにクエリを実行してアイテムをフィルタリングし、同じリストビューに表示するとします。アンドロイドの連絡先検索のようなもの。これを実装する方法を教えてください。簡単なサンプルがいっぱいになります。ありがとうございました。

4

2 に答える 2

0

これでできる

于 2011-07-04T07:03:18.983 に答える
0

以前のアプリの1つにこの機能を実装しました。コード全体が長すぎて、ここに貼り付けることができません。それで、私はそれのいくつかの部分を投稿しました。私が使用しているアプローチについて少し読んで、アプリでそれを実行してください。

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());
    };
};
于 2012-11-18T17:13:48.150 に答える