2012-09-29 2 views
0

내 Android 앱에 에 Spinner 위젯이 있습니다. 나는 onCreate()에 다음과 같은 코드로 생성 :Spinner 위젯에서 선택한 항목 설정

this.playerPositionSpinner = (Spinner) this.findViewById(R.id.player_position_text); 
    ArrayAdapter<CharSequence> positionsAdapter = ArrayAdapter.createFromResource(this, R.array.positions, android.R.layout.simple_spinner_item); 
    positionsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    this.playerPositionSpinner.setAdapter(positionsAdapter); 

나중에 내가이 회 전자의 목록에서 올바른 항목을 알고 문자열을 기준으로 선택한 항목을 설정할? Spinner.setSelection() 메서드는 모두 위치에 대해 int 매개 변수를 사용합니다. Spinner 드롭 다운 목록에서 String의 위치를 ​​얻으려면 어떻게해야합니까?

답변

2

(이제 몇 가지 코드를 게시 한 그래이 대폭 나의 예를 단순화!!).
내가 Spinner#setSelection() 사용하는 것이 좋습니다 setAdapter()를 호출 한 후 :

playerPositionSpinner.setSelection(positionsAdapter.getPosition("Watermelon")); 

은 물론 앱에 대한 관련 뭔가 "Watermelon"을 대체 할 수 있습니다.

+0

원래 질문이 다소 모호한 점 사과드립니다. 좀 더 자세한 내용을 편집했습니다. 필요하다고 생각되면 언제든지 답변을 업데이트하십시오. –

+0

@ Code-Guru - Spinner에'ArrayAdapter'를 지정한 후에 만'setSelection'을 호출 할 수 있습니다. playerPositionSpinner를 클래스 멤버로 선언 한 다음,'onCreate' 중에 할당하면 다른 방법이나 내부 클래스에서 회 전자를 호출 할 수 있습니다. – mrres1

+0

@ mrres1 편집 내용을 추가 한 코드에서'this ''playerPositionSpinner' 앞에서의 레퍼런스는 이미 클래스 멤버임을 암시해야합니다. –

-1

당신은 생성하고 설정 한 후 playerPositionSpinner.setSelection(position)를 호출하는 데 필요한 회 전자의 ArrayAdapter

+3

이러한 링크 중 하나가 질문에 어떻게 대답합니까? 링크 전용 답변에 대한 Stack Overflow의 정책 : "이 링크는 질문에 대답 할 수 있지만 여기에 답변의 핵심 부분을 포함하고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않을 수 있습니다 . " – Sam

+0

나는 이미 그 두 가지를 보았고 내 문제에 대한 해결책을 찾지 못했습니다. 아마도 내 질문에 더 많은 세부 사항을 추가해야합니다. –

+0

좋은 지적 샘, 댓글을 삭제하고 다운 투표하고 싶습니까? – mrres1