0

私は最近、Android および Java 開発全般のプログラミングを始めました。現在、時刻表アプリを作成してトレーニングしています。データベースからすべての科目のリストを取得し (テーブルには教師と部屋も含まれています)、それらをスピナーに入れたいと思います。それが私が書いたコードです

Cursor c = dba.fetchAllSubjects();

if (c.getCount() != 0)  {
    Spinner subjectSpinner = (Spinner) findViewById(R.id.newlesson_subject);
    startManagingCursor(c);
    String[] from = new String[]{DbAdapter.KEY_SUBJECT}; 
    int[] to = new int[] {android.R.layout.simple_spinner_item};
    SimpleCursorAdapter subjectAdapter = 
        new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, c, from, to);
    subjectSpinner.setAdapter(subjectAdapter);
}

問題は、スピナーをクリックすると、データベースにエントリがあるのと同じ数のアイテムを含むリストが表示されますが、リストには名前が表示されないことです (空であると言えます)。だから私はおそらく単純なカーソルアダプターで何かを台無しにしましたが、私にはわかりません。

ご協力いただきありがとうございます

4

1 に答える 1

0

エラーは、整数配列間違ったリソースIDを指定したことにあります。

int[] to = new int[] {android.R.layout.simple_spinner_item};

レイアウト自体ではなく、TextView(または同様に型指定されたビュー)のIDを指定する必要があります。上記の行を次のように置き換えます。

int[] to = new int[] { android.R.id.text1 };
于 2011-08-08T00:10:37.497 に答える