0

内部の配列を使用してスピナーを作成していstrings.xmlます。

android:entries="@array/theName"を使用してスピナーにデータを入力できることに気付きました。または、次のコードを使用できます。

spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(this, R.array.theName, android.R.layout.simple_spinner_item);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter1);

では、これら2つの違いは何ですか?一方が他方よりも速く実行されますか。すべてのコードを使用するわけではありませんが、アプリの残りの部分で問題が発生する場合は、コードを使用したいと思います。ユーザーが選択したものをアプリの他の場所で使用することを計画しています。

4

2 に答える 2

0

これらのアプローチにはほとんど違いがなく、属性android:entriesは主に便利なメソッドです。コードは次のとおりです。

  1. ArrayAdapter.createFromResource()
  2. 使用するandroid:entries

どちらも を呼び出しResources.getTextArray()て作成しArrayAdapter<CharSequence>ます。主な違いは、方法 1 を使用するとカスタム レイアウトを使用できるのに対し、方法 2 を使用すると 1 行の XML コードしか必要ないことです。

属性に関するドキュメントを引用するにはentries

静的コンテンツの場合、Spinner をプログラムで設定するよりも簡単です。

于 2012-09-09T18:02:35.107 に答える
0

どちらも有効です。

res フォルダーに既に文字列配列がある場合は、XML コードを使用します。よりシンプルでクリーンです。それ以外の場合は、(たとえばインターネットから) 配列を動的に取得する場合は、Java アプローチを使用します。

于 2012-09-09T17:12:37.427 に答える