私のスピナーを今すぐ仕事にする方法を見つけようとしています。私のスピナーは値を表示しません。スピナーが開き、各値のスペースがありますが、すべて空白です。私はArrayList<String>
とString[]
配列を使用しようとしましたが、どちらも違いはありませんでしたが、どちらか一方を使用する必要がありますか?私は多くの異なるタイプのArrayAdaptersを試しましたが、どれもうまくいきませんでした。下の私のコードのものは、上記のように最も近いものを扱うものであり、他の3つは私がオンラインで見たものです。私の主な問題は私のアレイアダプターにあると思うが、私は確信していない。ここでAndroid Spinnerは配列を表示していませんが、場所を表示しています
は、ここに私のJavaクラス
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_info);
engineSpinner = (Spinner)findViewById(R.id.rockets);
engineNameList = StagesData.getEngineNameList();
engStrList = engineNameList.toArray(new String[engineNameList.size()]);
adapter = new ArrayAdapter<String>(InfoActivity.this, android.R.layout.simple_spinner_item, engStrList);
// adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, R.array.array_engines);
// adapter = new ArrayAdapter<String>(InfoActivity.this, android.R.layout.simple_dropdown_item_1line, R.id.rockets, engStrList);
// adapter = ArrayAdapter.createFromResource(InfoActivity.this, android.R.layout.simple_spinner_item, R.array.engines);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
engineSpinner.setAdapter(adapter);
engineSpinner.setSelection(0);
が私のxmlスピナーセットアップ
<TableRow>
<TextView
android:text="@string/rocket"
android:padding="3dp"/>
<Spinner
android:id="@+id/rockets"
android:gravity="right"
android:entries="@array/engines"
android:clickable="true"
android:textColor="@color/colorblack"
android:spinnerMode="dropdown"
android:backgroundTint="@color/colorPrimary" />
</TableRow>
され、最終的に、これは私がから引っ張ってみたかった私の文字列の配列ファイルである(私は私の文字列を入れてくださいです-arrayは値のフォルダにある自分のファイルですか、それとも文字列ファイルの中に入っていますか?私は両方見たことがありますか、わかりません)
私の質問を要約すると、ArrayList<String>
またはString[]
を使用する必要がありますか?ArrayAdapterをセットアップするにはどうすればいいですか?また、文字列配列を配置する必要がありますか?
ありがとうございます!
あなたの問題を助け
希望解決した正しい方法ですか? –
はい、そうでした。申し訳ありませんが、私はすぐに返答しませんでした。どうもありがとうございます。私はアンドロイドプログラミングの新人で、私の最初のアプリはちょっと複雑すぎて最初のアプリとは思えませんでしたが、それは続いています。ありがとうございました。 –