206

私はAndroidを初めて使用し、プログラムでスピナーを作成して配列からのデータをフィードしようとしていますが、Eclipseから処理できないという警告が表示されます。

これが私が得たものです:

このArrayListは、スピナーに含める必要のある要素を保持します(後でファイルから入力されます)。

ArrayList<String> spinnerArray = new ArrayList<String>();

これは、スピナーを作成する必要があるサイトで見つけたコードです。

Spinner spinner = new Spinner(this);
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this,
                android.R.layout.simple_spinner_dropdown_item,
                spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);

2行目(ArrayAdapter ...)は、Eclipseで警告を表示し、"ArrayAdapter is a raw type... References to generic type ArrayAdapter<T> should be parameterized"これを修正する方法(またはそもそもそれが何を意味するのか:))がわかりません。

これは単なる警告であり、アプリは正常に動作しているようですが、それでも何が問題なのかを理解して修正したいと思います。ヒントをいただければ幸いです。

ご挨拶、Select0r

4

6 に答える 6

400

ArrayAdapter<String>動作するはずです。

すなわち:

Spinner spinner = new Spinner(this);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>
            (this, android.R.layout.simple_spinner_item,
           spinnerArray); //selected item will look like a spinner set from XML
spinnerArrayAdapter.setDropDownViewResource(android.R.layout
                                                     .simple_spinner_dropdown_item);
spinner.setAdapter(spinnerArrayAdapter); 
于 2010-05-06T20:37:31.320 に答える
113

Arrayも同様に

// Array of choices
String colors[] = {"Red","Blue","White","Yellow","Black", "Green","Purple","Orange","Grey"};

// Selection of the spinner
Spinner spinner = (Spinner) findViewById(R.id.myspinner);

// Application of the Array to the Spinner
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this,   android.R.layout.simple_spinner_item, colors);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // The drop down view
spinner.setAdapter(spinnerArrayAdapter);
于 2011-05-05T16:57:54.987 に答える
65

次の3行のコードは、プロジェクトリソースからロードされたという名前の文字列配列で機能しました。shoes

Spinner              spinnerCountShoes = (Spinner)findViewById(R.id.spinner_countshoes);
ArrayAdapter<String> spinnerCountShoesArrayAdapter = new ArrayAdapter<String>(
                     this,
                     android.R.layout.simple_spinner_dropdown_item, 
                     getResources().getStringArray(R.array.shoes));
spinnerCountShoes.setAdapter(spinnerCountShoesArrayAdapter);

これは、次の名前の文字列配列を持つ私のリソースファイル(res/values/arrays.xml)です:shoes

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="shoes">
        <item>0</item>
        <item>5</item>
        <item>10</item>
        <item>100</item>
        <item>1000</item>
        <item>10000</item>
    </string-array>
</resources>

この方法を使用すると、必要に応じて、多言語に対応するのが非常に簡単になります。

于 2012-10-14T08:53:46.420 に答える
36

これは実際に私のために働いた

    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
            this, android.R.layout.simple_spinner_item, spinnerArray);
    spinnerArrayAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
     
    Spinner spinner = (Spinner) findViewById( R.id.spinner );
    spinner.setAdapter(spinnerArrayAdapter);
于 2010-09-14T16:26:17.243 に答える