2012-08-16 5 views
1

나는 데이터로 가득 찬 ArrayLists들을 가지고있다. 내가 원하는 것은 arraylists를 사용하여 스피너를 채우는 것입니다. 다른 사람의 질문에 사람들은 자신의 어댑터를 만들고 ArrayList를 필드로 저장하지만, 그렇게 할 필요는 없습니다.Spinner에 ArrayList를 채우는 간단한 방법이 있습니까?

그냥 회전자를 채울뿐입니다. 나는 프로그래머이 쉽게 뭔가를 생각하지 않지만, 거기는

mySpinner.populate(myList); 

답변

3

는 단순히 내장 ArrayAdapter, 사용자 정의 어댑터를 작성하지 않아도 사용 닮은 것도있다. 만큼 당신이 정의로 쉽게 <Integer>에 ArrayAdapter와의 하위 유형을 변경할 수 <Double>, 또는 사용자 정의 클래스 <Kittens> (:

List<String> list = new ArrayList<String>(); 
// Fill list with strings 
... 

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
Spinner spinner = (Spinner) findViewById(R.id.spinner); 
spinner.setAdapter(adapter); 
당신은 당신이 사용하고있는 데이터 유형을 지정하지

하지만 그것은 중요하지 않습니다 사용자 정의 클래스 toString() 메소드).

1

ArrayAdapters은 내부 목록에 항목을 저장하는 방법이 있습니다. 나만의 것을 만들 필요가 없습니다. 이런 식으로 뭔가를 시도 :

for(Object ob : yourArrayList) 
    <arrayAdapter>.add(ob); 
<arrayAdapter>.notifyDataSetChanged(); 

내가 당신 List가 사용하는 어떤 수집 할 Object을 변경합니다.

+0

arrayAdapter가 변경 가능한 데이터 구조로 작성된 경우에만 작동합니다. – Nick

관련 문제