0

これは新しい質問ではなく、すでに同様の質問がたくさんあることはわかっていますが、私の問題は少し異なります。ListView に検索機能を実装しようとしています。私は次のようなリストビューを持っています:

ListView list;
List<HashMap<String, String>> myDataCollection;

XML から大量のデータを読み取り、そこから作成しています。

BinderMyrData bindingData = new BinderMyData(this,  myDataCollection);    
list = (ListView) findViewById(R.id.list);
// Adding items to listview
inputSearch = (EditText) findViewById(R.id.inputSearch);
list.setAdapter(bindingData);
/*** Enabling Search Filter * */
inputSearch.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence cs, int arg1, int arg2,
                    int arg3) {
                // When user changed the Text
                    //Some code to be added no clue..
                }

                @Override
                public void beforeTextChanged(CharSequence arg0, int arg1,
                        int arg2, int arg3) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void afterTextChanged(Editable arg0) {
                    // TODO Auto-generated method stub
                }
            });

onTextChanged にコードを追加する必要があることはわかっています。どのコードかわかりません...どんな助けも大歓迎です。

4

1 に答える 1

0

このトピックを読みましたか?

ListView に検索機能を適用する方法を完全に説明しています。

簡単に言えば:

メソッドbindingData.getFilter().filter(cs);内に追加onTextChanged()

ArrayAdapter<E>しかし、標準で作業していて、ハッシュマップリストとしてある種の奇妙なList<HashMap<String, String>> myDataCollection;アダプターを使用している場合は、これが最も便利な方法です。これがうまくいかない場合は、アダプターをより使いやすいものに変更することを検討する必要がありますArrayAdapter<E>

于 2013-09-23T21:04:47.113 に答える