2

別のビューにあるスピナーにアレイをロードする際に問題が発生しました。配列は、beerstylesという名前でarrays.xmlで適切に定義されています。beerstylespinnerは、のスピナーのIDとして定義されcarbonationcalculator_view.xmlます。これは、コードがメインのJavaクラスにあるが、追加のcarbonationcalculatorクラスにはない場合に機能します。スピナーにアレイが配置されていないことを除いて、すべてが機能します。

コードは次のとおりです。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.carbonationcalculator_view);

    Spinner s = (Spinner) findViewById(R.id.beerstylespinner);

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.beerstyles, R.layout.carbonationcalculator_view);

    adapter.setDropDownViewResource(R.layout.carbonationcalculator_view);

    s.setAdapter(adapter);
}
4

1 に答える 1

1

これで問題が解決するかどうかはわかりませんが、アダプタのドロップ ダウン リソースに設定するレイアウトについて混乱があるようです。 setContentView()アクティビティに設定するビューに使用する必要があります。ただし、ドロップダウン リソースは、各行をどのように表示するかを指定する必要があります。

使用する必要があるのは、のようなものandroid.R.layout.simple_list_item_1です。デモList1.javaをエミュレートできますが、コンストラクターの代わりに次を使用します。

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
        this, R.array.beerstyles, android.R.layout.simple_list_item_1);

ArrayAdapter.setDropDownViewResource()また、使用後に呼び出す必要はありませんArrayAdapter.createFromResource()。3 番目のパラメータードロップダウン ビュー リソースです。

于 2009-12-01T18:14:20.120 に答える