6

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

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

公共无效搜索(查看视图){

    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 回答