ArrayAdapter.add-->java.lang.UnsupportedOperationException

1188 단어
source code:
cities = new String[] { "Android", "BlackBerry", "J2ME","Symbian","Broncho", "LinuxMobile", "Palm", "WindwosMobile" }; 
cityList = Arrays.asList(cities);
arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,cityList);

situation:
Array Adapter를 활용합니다.add 방법으로 spinner item을 추가할 때java를 던집니다.lang.
UnsupportedOperationException...
root cause:
Array List size가 고정되어 Array Adapter도 resizeable입니다.
solutions:
1. Array Adapter를 만들 때 고정 크기의 Array List를 설정하지 않음
arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item); 
cities = new String[] { "Android", "BlackBerry", "J2ME","Symbian","Broncho", "LinuxMobile", "Palm", "WindwosMobile" }; 
for(int i=0; i<cities.length; i++){
   arrayAdapter.add(cities[i]);
}

2. 이용
arrayAdapter.addAll(String...items) 또는
arrayAdapter.addall(Collection collection), API11 이상 지원 필요

좋은 웹페이지 즐겨찾기