1

私はスピナーを次のように設定しました:

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
4

1 に答える 1

2

スピナーはSimpleCursorAdapterアダプターとしてを使用しており、そのデータセットはCursorです。スピナーでアイテムを選択すると、カーソルが特定の行に移動しただけであり、呼び出したときgetSelectedItem()に、データセットオブジェクト(カーソルオブジェクト)を要求し続けます。あなたがしようとしていることをするためにあなたは単に呼ぶことができます:

c.getString(1);

選択が行われたら。私が言ったことのもう少し基本的な説明のために。

((Cursor) casaSpinner.getSelectedItem()).getString(1);
于 2012-12-10T06:25:11.163 に答える