0

問題が発生してクエリをスピナー オブジェクトに適合させようとしていますが、タイトルにエラーが表示されます。クラッシュするコード部分は次のとおりです。

        Spinner classDropDown = (Spinner) this.findViewById(R.id.classDropDown);
        int[] to = new int[] { R.id.classDropDown };
        String[] classFields = new String[] { "className" };
        SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, R.layout.main, cursor, classFields, to);
        cursorAdapter.setDropDownViewResource(R.id.classDropDown);
        classDropDown.setAdapter(cursorAdapter);

カーソルが埋まらない問題がありましたが、修正しました。この問題のデバッグについて誰か助けてもらえますか?

編集:私の問題は「to」フィールドだと思います。これは何ですか?

編集 2:また、スピナー オブジェクトの XML は次のとおりです。

<Spinner
        android:id="@+id/classDropDown"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

編集 3:コードの修正を反映するように上記を修正しました。これにより、この特定の問題が修正されます。エラーは発生していませんが、スピナーにも何も表示されていません。

4

1 に答える 1

1

To は、R.id.textview1 など、データを入れたいリソース ID のリストであり、アダプターで指定したレイアウトに含まれている必要があります。要素の数は、from 配列の要素の数とも一致する必要があります (classfields と呼びました)。

したがって、2 つのデータがあり、ターゲット リソース ID を 1 つだけ指定しています。classfields 配列のフィールドの 1 つを削除するか、ウィジェットをレイアウトに追加して to 配列に call.it を追加すると、機能するはずです。

于 2012-06-04T19:15:31.983 に答える