我尝试在Sqlite数据库中实现可用选项填充的AutoCompleteTextView
。
我使用此代码制作了一个Get方法:
//Get Concelhos to Search Autocomplete
public ArrayList<String> getListConcelhos() {
ArrayList<String> listaConcelhos = new ArrayList<>();
dbase = this.getReadableDatabase();
Cursor cursor = dbase.rawQuery("SELECT DISTINCT CONCELHO FROM " + TABLE_NAME, null);
//cursor.moveToFirst();
while (cursor.moveToNext()) {
String value = cursor.getString(
cursor.getColumnIndex("CONCELHO"));
listaConcelhos.add(new String(value)); // TENTAR
}
return listaConcelhos;
}
使用此功能将其调用到我的活动中:
dbHelper = new DbHelper(this);
listaConcelhos = dbHelper.getListConcelhos();
String[] arrayConcelhos = listaConcelhos.toArray(new String[listaConcelhos.size()]);
text=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
ArrayAdapter adapter = new
ArrayAdapter(this,android.R.layout.simple_list_item_1,arrayConcelhos);
text.setAdapter(adapter);
text.setThreshold(1);
但是没有工作,下拉列表中没有提供选项。 我做了一个Log来验证get方法是否返回了信息并正确返回了信息。
Log.e("LOG: ", listaConcelhos.toString());
我尝试了另一个例子,使用硬编码的String [],这样工作:
String[] concelhos = {"Concelho 1", "Concelho2"};
text=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextViewConcelhos);
ArrayAdapter adapter = new
ArrayAdapter(this,android.R.layout.simple_list_item_1,concelhos);
text.setAdapter(adapter);
text.setThreshold(1);
为什么我使用get方法的初始实现不起作用?并使用硬编码的String []工作?
你能帮我解决这个问题吗?
由于