我有一个包含2-6个项目的数组列表。这些项是通过一些if/else语句添加的。我必须将这个数组列表(ListFartoy)转换为一个数组(ArrayFartoy),这样它才能在微调器中工作。
Im使用的方法如下:
String[] arrayFartoy = new String[listFartoy.size()];
arrayFartoy = listfartoy.toArray(arrayFartoy);它似乎工作得很好。
但是当我把它放进旋转器里的时候它就不能工作了。行arrayFartoyposition变红。
ArrayAdapter<String> adapterFartoy = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, arrayFartoy);
adapterFartoy.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_fartoy.setAdapter(adapterFartoy);
spinner_fartoy.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long id) {
selectedFartoy = arrayFartoy[position];
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});当我将这个微调器/适配器与普通数组一起使用时,它工作得很好,所选的项存储在"selectedFartoy“中。
它是这样工作的:
String[] arrayFartoy = new String[] { "Tarot T960", "Tarot FY680", "Ecilop",
"Sexycopter", "Skywalker" };发布于 2014-01-19 13:22:30
我想你不想把ArrayList转换成字符串数组。因为您可以将arrayList直接传递给ArrayAdapter。像这样:
ArrayAdapter<String> adapterFartoy = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, listfartoy);
adapterFartoy.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_fartoy.setAdapter(adapterFartoy);
spinner_fartoy.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long id) {
selectedFartoy = listfartoy.get(position);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});https://stackoverflow.com/questions/21212129
复制相似问题