Android 如何从光标填充的微调器中获取值

Android 如何从光标填充的微调器中获取值,android,database,spinner,Android,Database,Spinner,我将微调器填充为: DatabaseConnector dbConnector = new DatabaseConnector(this); dbConnector.open(); Cursor c = dbConnector.raw("SELECT _id, nombrecasa FROM casa"); startManagingCursor(c); String[] from = new String[]{"nombrecasa"}; int[] t

我将微调器填充为:

DatabaseConnector dbConnector = new DatabaseConnector(this);
    dbConnector.open();
    Cursor c = dbConnector.raw("SELECT _id, nombrecasa FROM casa");
    startManagingCursor(c);
    String[] from = new String[]{"nombrecasa"};
    int[] to = new int[]{android.R.id.text1};
    SimpleCursorAdapter adapter =
    new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, c, from, to );
    adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
    casaSpinner = (Spinner) findViewById( R.id.casaspinner);
    casaSpinner.setAdapter(adapter);
    dbConnector.close();
    }
当我尝试获取以下值时:

String idcasa   = casaSpinner.getSelectedItem().toString();
它只返回以下内容:

android.database.sqlite.SQLiteCursor@40539880

您的微调器使用了一个
SimpleCursorAdapter
作为适配器,其数据集是一个
光标
。当您在微调器上选择一个项目时,您仅将光标移动到特定行,并且当您调用
getSelectedItem()
时,您仍在请求dataset对象,它仍然是一个光标对象。要执行您正在尝试的操作,您只需调用:

c.getString(1);
一旦你做出选择。为了更基本的解释我说的话

((Cursor) casaSpinner.getSelectedItem()).getString(1);