我对Android Studio比较陌生,如果这是一个快速解决方法,那就很抱歉
我正在尝试从我的数据库中检索一个列,将该列中的所有记录放入一个arrayList中,然后列表中的数据可用于填充微调器
我到目前为止的代码如下;
try {
//String sql = "INSERT INTO Inventory(NAME,AMOUNT,PRICE,AMOUNTLEFT,WEIGHT) VALUES('Apple','30','1.99','28','1.01')";
//db.execSQL(sql);
Cursor c = db.rawQuery("SELECT NAME FROM Inventory", null);
if (c.getCount() == 0)
{
showMessage("Welcome!", "Please Add Items To Your Inventory");
}
List InventoryList = new ArrayList();
Integer i=0;
if(c.moveToFirst())
{
do {
InventoryList.add(i, c.getColumnIndex("1"));
i+=1;
}while(c.moveToNext());
}
c.close();
db.close();
flav1InvSpinner = (Spinner)findViewById(R.id.Combo_InvChoice1);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, InventoryList);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
flav1InvSpinner.setAdapter(dataAdapter);
}
catch(Exception e)
{
showMessage("Error", "Cannot Connect To Database \n" + e.getMessage() );
}
但是,当模拟器运行时,组合框仅显示-1 我希望它能显示'Apple'
关于我做错了/错过的任何建议
由于
答案 0 :(得分:0)
想出来,我不需要c.getColumnIndex
只需要c.getString(0));
现在就开始享受吧!