2013-03-28 3 views
7

세부 사항 추가 및 편집 세부 사항에 동일한 페이지를 사용해야하는 양식을 준비합니다. 세부 정보를 추가하는 동안 모든 필드는 비어 있고 스피너 선택은 "선택하지 않음"으로 설정됩니다. 이제 이전 활동에서 전달할 항목의 회 전자 선택을 설정하려고합니다. 이것을 달성하는 방법 ?? 회 전자에는 다음과 같은 메소드가 없습니다. setSelection (String string); 또는 다른 방법이, 내가이 메커니즘을 달성 할 수 ...스피너 선택을 텍스트로 설정하는 방법

사람은 내가 지금 얼마나 자주 사용할 수 있습니다 해달라고 ...

+0

회가 AbsSpinner의 서브 클래스에서 잘 작동하는 것 같다 및 AbsSpinner이 방법을 가지고 setSelection HTTP ://developer.android.com/reference/android/widget/AbsSpinner.html#setSelection(int, boolean) –

+0

@nidhi_adiga. 예. 하지만 나는 id에 의해 이름으로 스피너 선택을 설정해야합니다. 나는 setSelection (int position);에 전달할 텍스트의 ID가 없습니다. –

+0

이봐, 내가 이걸 할 수 있을까 ?? ?? category_spinner.setSelection (category_spinner_array_list.indexOf ("cat_name")); –

답변

11

를 좀 도와 주시겠습니까 그러나 우리는 회 전자의 선택을 설정할 수 있습니다 그 안에있는 텍스트로. Spinner의 메소드는 입니다. setSelection (int position);. 우리는 우리가 우리가 예를 들어 선언 ArrayList의 유형을 사용해야합니다 getIndexOf(Object object)와 객체에 의해, 어댑터에 바인딩하는 데 사용하는 array_list에서 얻을 수있는 텍스트의 위치를 ​​통과하는 데 필요한 매개 변수 이제

, ArrayList을 경우 String 유형 인 경우 getIndexOf(Object object)에 전달할 객체는 String 유형이어야합니다.

마지막으로, 아래와 같이 선택을 설정

spinner.setSelection (spinner_array_list.indexOf(string)); 
13

이 내가 무슨 짓을하고

Spinner my_spinner=(Spinner)findViewById(R.id.spn_items); 
ArrayAdapter<String> array_spinner=(ArrayAdapter<String>)my_spinner.getAdapter(); 
    my_spinner.setSelection(array_spinner.getPosition("list item")); 
+0

알기 쉽습니다. 감사합니다... –

관련 문제