我对Android都是新的,我试图以编程方式创建一个旋转器,并从数组中提供数据,但Eclipse给了我一个警告,我不能处理。
以下是我得到的答案:
这个数组列表保存了应该在旋转器(获取
稍后从文件中填充):
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是一个原始类型…”对泛型类型ArrayAdapter<T>的引用应该参数化”,我不知道如何修复这个(或者这在第一个地方意味着什么:))。
这只是一个警告,应用程序似乎运行正常,但我仍然想了解什么是错误的,并解决它。任何提示都很感激。
问候,
Select0r
用同样的方法处理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);
从项目资源中加载名为shoes的字符串数组,下面3行代码为我工作:
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>
如果有必要的话,使用这种方法很容易实现多语言。