6

Androidスピナーに表示されるデータの長いリストがあります。このスピナーに検索オプションを追加したいですか?誰でも簡単なコード例で私を助けることができます..(これに関するいくつかの回答を見ましたが、十分ではありません..

私はアンドロイドが初めてで、実際にはこれが正しい方法ではないことを知っています。しかし、私はこの種のオプションをスピナーに追加したいと考えています。検索ボックスで文字をヒットすると、その文字に関連する項目のリストがスピナーに表示されます。どうもありがとう。

public void search(View ビュー){

    cursor = db.rawQuery("SELECT * FROM tblRepTeritories WHERE RepCode like?", 
        new String[]{"%" + searchText.getText().toString() + "%"});


    SimpleCursorAdapter adapter1 = new SimpleCursorAdapter(
            this, 
            android.R.layout.simple_spinner_item, 
            cursor, 
            new String[] {"TeriCode"}, 
            new int[] {android.R.id.text1});

adapter1.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
// get reference to our spinner
Spinner s1 = (Spinner) findViewById( R.id.spinner2 );

s1.setAdapter(adapter1);


}
4

1 に答える 1

0

使用してからアダプターTextWatcherを呼び出しnotifyDataSetChanged()ます。

searchText.addTextChangedListener(new TextWatcher() {

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void afterTextChanged(Editable s) {
        cursor = db.rawQuery("SELECT * FROM tblRepTeritories WHERE RepCode like?", 
            new String[] {"%" + searchText.getText().toString() + "%"});
        adapter1.notifyDataSetChanged();

    }
});
于 2013-09-30T12:10:42.867 に答える