如何将搜索选项添加到Android Spinner?

时间:2012-04-30 07:13:50

标签: android android-spinner

我在android spinner中有一长串数据显示。所以我想为这个微调器添加一个搜索选项?任何人都可以用一个简单的示例代码帮助我。(我看到了一些关于此的答案,但它们还不够)..

我是Android新手,我知道这不是正确的方法。但我想在旋转器中添加这种选项。当您点击搜索框中的字母时,项目列表将显示在与该字母相关的微调器中。非常感谢。

public void search(查看视图){

    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);


}

1 个答案:

答案 0 :(得分:1)

使用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();

    }
});