我有两个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();
}
});
我做错了什么?
答案 0 :(得分:0)
如果您想匹配前缀,则应使用&#39;%&#39;在参数的末尾。
"WHERE grupo like '" + txGrupo.getText().toString() + "%'"
另外,我强烈建议您使用query()
方法而不是rawquery()
。构建这样的SQL语句会导致问题(例如,如果txGrupo
的内容包含引号)。
答案 1 :(得分:0)
我弄明白为什么它没有展示任何东西。当我启动意图时,我调用该方法,此时TextField为空,因此它没有任何内容。当我选择我的小组时,我必须刷新方法而我不这样做:)