安卓:从阵列编程创建微调安卓:从阵列编程创建微调(Android: Create spinner p

2019-05-10 10:53发布

我是所有新的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);

现在,第二行(ArrayAdapter ...)让我在Eclipse中说警告"ArrayAdapter is a raw type... References to generic type ArrayAdapter<T> should be parameterized" ,我不知道如何解决这一问题(或者是什么这意味着在首位:))。

这只是一个警告,该应用程序似乎是正常的运行,但我还是想明白了什么问题并解决它。 任何暗示理解。

问候,Select0r

Answer 1:

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); 


Answer 2:

数组以同样的方式

// 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);


Answer 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 )与字符串数组:

    <?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>

用这种方法更容易使其多种语言(如有必要)。



Answer 4:

这实际上为我工作

    Spinner spinner = new Spinner(this);
    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) findViewById( R.id.spinner );
    spinner.setAdapter(spinnerArrayAdapter);


Answer 5:

这个工作对我来说: -

String[] array = {"A", "B", "C"};
String abc = "";


Spinner spinner = new Spinner(getContext());
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item, array); //selected item will look like a spinner set from XML
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerArrayAdapter);

我使用的是片段。



文章来源: Android: Create spinner programmatically from array