Android Studio - 从SQLite数据库中检索数据并插入Spinner

时间:2015-09-30 11:21:40

标签: java sqlite arraylist android-studio spinner

我对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'

关于我做错了/错过的任何建议

由于

1 个答案:

答案 0 :(得分:0)

想出来,我不需要c.getColumnIndex

只需要c.getString(0));

现在就开始享受吧!