ArrayAdapter уже основан на List, поэтому вам не нужно создавать собственный адаптер только для использования List. Тем не менее, он использует список или массив, с помощью которого он создан. Он не копирует элементы в новый список. Если вы дадите ему массив фиксированной длины, вы не сможете добавлять или удалять элементы.
Создать список для передачи конструктору. Обратите внимание, что список, созданный из Arrays.asList (), не будет работать, потому что это просто представление исходного массива.
spinner = (Spinner)this.findViewById(R.id.dynamicSpinner);
CharSequence[] itemArray =
getResources().getTextArray(R.array.simple_from_length);
List<CharSequence> itemList =
new ArrayList<CharSequence>(Arrays.asList(itemArray));
adapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_item,
itemList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Вы также можете использовать List и getResources.getStringArray (), или что угодно.