我正在尝试使用产品填充列表视图。我可以做到,但我需要他们有自定义ID(来自SQLite数据库)。我怎样才能做到这一点?到目前为止,这是我没有id实现的代码:
ArrayList<String> productNameList = new ArrayList<String>();
ArrayList<String> productIdList = new ArrayList<String>();
Cursor results = myDbHelper.getProducts();
ListView lv = (ListView) findViewById(R.id.productlist);
while (results.moveToNext()){
productNameList.add(results.getString(results.getColumnIndex("name")));
productIdList.add(results.getString(results.getColumnIndex("id")));
}
lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , productNameList));
答案 0 :(得分:0)
您应该使用SimpleCursorAdapter:
String[] columns = new String[] { "_id", "name" };
int[] to = new int[] { android.R.id.text1, android.R.id.text2 };
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, cursor, columns, to);
lv.setAdapter(mAdapter));
“to”和“columns”定义映射: “colums”是您希望SimpleCursorAdapter读取的数据库列名称的列表。而“to”是一个android id列表,指定光标中的值设置在哪个小部件上。
在后面的代码中,这意味着“_id”的值将显示在文本字段中,其中android id为“android.R.id.text1”,而“name”列的值将进入textfield“android .R.id.text2" 。