AutoCompleteTextView过滤器无法正常工作

时间:2014-06-02 14:25:33

标签: android autocomplete

我有两个AutoCompleteTextView(组和安装)。

在我选择组后,Instalation应该根据组过滤信息,但它不起作用。

如果在sql行中我取出WHERE部分它工作正常(但显示所有信息,我不希望这样)。

List<String> instalacao = new ArrayList<String>();
Cursor cursor=mydb.rawQuery("SELECT DISTINCT instalacao FROM registo WHERE grupo like '"+txGrupo.getText().toString()+"';",null);
while (cursor.moveToNext()){
    instalacao.add(cursor.getString(cursor.getColumnIndex("instalacao")));  
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.select_dialog_item,instalacao);     
txInstalacao.setThreshold(0); 
txInstalacao.setAdapter(adapter); 

下拉列表:

txInstalacao.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        txInstalacao.showDropDown();
    }
});

我做错了什么?

2 个答案:

答案 0 :(得分:0)

如果您想匹配前缀,则应使用&#39;%&#39;在参数的末尾。

"WHERE grupo like '" + txGrupo.getText().toString() + "%'"

另外,我强烈建议您使用query()方法而不是rawquery()。构建这样的SQL语句会导致问题(例如,如果txGrupo的内容包含引号)。

答案 1 :(得分:0)

我弄明白为什么它没有展示任何东西。当我启动意图时,我调用该方法,此时TextField为空,因此它没有任何内容。当我选择我的小组时,我必须刷新方法而我不这样做:)