0

データベースからスピナーロードの値を取得および設定する方法を探していますが、見つかりません。

private void loadSpinnerData() {
    // database handler
    DatabaseHandler db = new DatabaseHandler(getApplicationContext());

    // Spinner Drop down elements
    List<String> lables = db.getAllCadenesAsList();

    // Creating adapter for spinner
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, lables);

    // Drop down layout style - list view with radio button
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    // attaching data adapter to spinner
    spinner.setAdapter(dataAdapter);
}

カーソルは _id と Name を返し、スピナーは正しくロードされます (どうやら..)

onItemSelectedで選択した値を取得しようとすると、IDと位置が同じで、カーソルのIDではなく、スピナーの位置です。

選択した値の ID を取得するにはどうすればよいですか? スピナーの値を設定するにはどうすればよいですか。

スピナーのID/位置ではなく、データベースのIDが必要であり、知っています。

前もって感謝します。

4

1 に答える 1

0

スピナーをに接続したため、スピナーの実際のデータベース_idを取得していません。この種のアダプタフックアップは、データベースに接続されているわけではなく、データベースに渡されたコレクションまたはその他のコレクションにのみ接続されています。必要なものを取得するには、代わりにスピナーのアダプターを設定する必要があります。onItemSelectedArrayAdapterList<String>CursorAdapter

于 2013-01-05T19:42:10.667 に答える