【发布时间】:2014-08-11 19:21:36
【问题描述】:
我正在尝试从我的数据库中的一列值填充我的 AutoCompleteTextView。
我在数据库中运行的查询是:
// GET MEMOS
public ArrayList<String> autoCompleteMemo(String table)
{
SQLiteDatabase db = this.getReadableDatabase();
ArrayList<String> memoList = new ArrayList<String>();
String SQL_GET_MEMOS = "SELECT memo FROM " + table;
Cursor cursor = db.rawQuery(SQL_GET_MEMOS, null);
cursor.moveToFirst();
if (!cursor.isAfterLast()) {
do {
memoList.add(cursor.getString(0));
}
while (cursor.moveToNext());
}
cursor.close();
db.close();
return memoList;
}
这是我尝试设置值的方式:
memoList = new String[db.autoCompleteMemo(table).size()];
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, memoList);
etMemo.setAdapter(adapter);
由于某种原因,这似乎不起作用。我是否正确地从 ArrayList 转换为 String[]?
谢谢
还有,
如果我做类似的事情
String[] memoList = getResources().getStringArray(R.array.memoList);
并在 Strings.xml 中填充它可以正常工作。
【问题讨论】:
-
确保您实际获取数据,尝试使用 cursor.getString(cursor.getColumnIndex(columnName));我记得从右列获取值时遇到问题。您可以使用数组列表代替数组。
标签: android arraylist autocompletetextview arrays