0

私は(単純な)2次元配列を持っています。私がやろうとしているのは、スピナーにその配列のデータを入力することです。

String ap1[][] = new String[5][2];
ap1[0][0]="First item";
ap1[0][1]="1";
ap1[1][0]="Second item";
ap1[1][1]="2";
//etc. etc. etc.

Spinner apSpinner = (Spinner) findViewById(R.id.ap_spinner);

これで、スピナーには各配列エントリの最初の要素 (例: "First item"、"Second item"、... ) が取り込まれ、選択が行われた後に 2 番目の項目が読み取られ、後の計算で使用されます。

次のコードを試してみましたが、 LJava.Lang.String;@...のような奇妙なテキストが表示されます。

ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, ap1);
apSpinner.setAdapter(spinnerArrayAdapter);

私の問題の手がかりはありますか?

4

1 に答える 1

1

配列に次元を追加すると、作業が難しくなります。あなたの二次元の目標が

選択が行われた後に読み、後で使用する必要があります

で同じ数を達成/取得できますposition+1。いつ/どのように使用するかによって異なります。

また、リスト ( Docs )に表示される内容を覚えておく必要があります。

配列表示に TextView 以外のもの (ImageView など) を使用したり、toString() の結果以外のデータをビューに表示したりするには、getView(int, View, ViewGroup) をオーバーライドして、必要なビューのタイプを返します。

String[].toString()2 次元なので、が表示されます。したがって、あなたが見るclassname@hashcode

于 2013-02-04T21:21:20.253 に答える