1

私は今、気が狂っていると思います。データテーブルが入力されたスピナーを作成しようとしていますが、何らかの理由でドロップダウン リスト項目のテキストが表示されません。私はいたるところを見渡し、同じ問題を抱えている人々がいる他の投稿を見てきました. 誰か助けてくれませんか??

speciesList = (Spinner) findViewById(R.id.speciesList);
    spinnerCursor = nsfdb.fetchAllSpecies();
    startManagingCursor(spinnerCursor);
    //String []cArrayList = new String[]{"dog", "cat", "horse", "other"};
    String[] from = new String[]{"species"};

    int[] to = new int[]{R.id.text1};

    SimpleCursorAdapter locations = new SimpleCursorAdapter(this, R.layout.loc_row, spinnerCursor, from, to);

    locations.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    speciesList.setAdapter(locations);

スピナーは問題なく作成され、4 つのアイテムが取り込まれますが、スピナーをクリックすると、テキストがなくラジオボタンだけの 4 つのアイテムが表示されます。それらのいずれかを選択すると、選択したアイテムの正しい値が得られますが、データが表示されません。

4

5 に答える 5

2

ListView をセットアップするためのコードをコピーして Spinner に貼り付けようとしたときに、同様の問題が発生しました。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.array.location, android.R.layout.simple_list_item_1);

に変更する必要がありました

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.array.location, android.R.layout.simple_spinner_item);

R.layout.loc_row でレイアウトの設定をチェックして、カーソル データにとって意味があることを確認します。

于 2010-06-09T16:06:10.240 に答える
1

私は同じ問題を抱えていて、使用していました: int[] to = new int[]{ R.id.text1};私は上記のアドバイスを受け取り、それを次のように変更しました: int[] to = new int[]{ android.R.id.text1};

今はすべてうまくいきます、ありがとう!

于 2011-04-04T23:50:13.637 に答える
0

ユーザー300339

同じ問題がありました。ユーザーQberticusが良い指針を教えてくれました。

基本的に でレイアウトを指定するSimpleCursorAdapter locations場合は、カスタム レイアウトを使用しますR.layout.loc_row。後続の呼び出しでsetDropDownViewResourceは、引き続き同じリソース ID バインディングが使用されます。

以下を簡単に使用できます。

SimpleCursorAdapter locations = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, spinnerCursor, from, to);

locations.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

speciesList.setAdapter(locations);

これは私のコードで機能しました。

ところで、to配列の場合は、代わりにこれを使用できます。

int[] to = new int[]{ android.R.id.text1};

Androidで詳細を参照 - テキスト ドロップダウン/スピナーの選択が表示されない

于 2010-06-19T13:21:37.170 に答える
0

fetchAllSpecies によって返される列は何ですか? 「_id」列と「種」列の両方が必要になると思います。列が 1 つしかない場合は、それを ID に使用している可能性がありますが、テキストに使用するものは何もありません。

それがあなたが経験している問題であるかどうかはわかりません。私自身、スピナーを DB クエリにバインドしていません。

于 2010-03-24T19:54:46.487 に答える