0
我的Android應用程序中有一個非常基本的表單。其中一個字段必須從我的SQLite數據庫中的行中選擇。 由於此字段提供了大量選項,因此微調器對用戶來說不太舒服,所以我選擇了自動填充字段,因爲用戶通常知道他正在查找的項目的名稱。 因此,現在我有一個針對SQLite數據庫表的AutoCompleteTextView。自動完成功能工作得很好:Android中選定文本的隱藏ID AutoCompleteTextView
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null, new String[]{"nombre"}, new int[]{android.R.id.text1}, 0);
AutoCompleteTextView concepto = (AutoCompleteTextView) findViewById(R.id.editConcepto);
concepto.setAdapter(adapter);
final PorkyOpenHelper poh = new PorkyOpenHelper(getApplicationContext());
adapter.setFilterQueryProvider(new FilterQueryProvider()
{
@Override
public Cursor runQuery(CharSequence str)
{
if (str != null)
{
return poh.findConceptosByNombre(str.toString());
}
else
{
return null;
}
}
});
adapter.setCursorToStringConverter(new SimpleCursorAdapter.CursorToStringConverter()
{
@Override
public CharSequence convertToString(Cursor cursor)
{
int index = cursor.getColumnIndex(PorkyOpenHelper.CONCEPTOS_TABLE_NOMBRE);
return cursor.getString(index);
}
});
但現在我有一個問題:用戶選擇和我的數據庫表中看到字段「農佈雷」,但我需要知道並存儲了「_id」字段。我可以用try-n-fix來解決這個問題,但是我想知道是否有一些更優雅的或者正確的解決方案已經針對Android SDK(是的,正確的引用是一個笑話)。
在此先感謝大家!
這不就是PARAM在列表中的項目的索引顯示的?我需要數據庫中的_id,而不是自動填充字段列表中的位置。 – luispablo
onItemClick(適配器視圖> 父,觀景,詮釋 位置,長的ID),最後一個是ID不定位 – pskink
也使用setStringConversionColumn代替setCursorToStringConverter – pskink