2012-06-06 2 views
2

작동하지 않습니다설정 스피너 선택은 내가 다음과 같은 특정 옵션을 표시하기 위해 setSelection와 스피너를 설정하기 위해 노력하고있어

Spinner gender; 
gender = (Spinner) findViewById(R.id.spinner_edit_gender); 
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.gender_array, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    gender.setAdapter(adapter); 
    if (strGender.equals("male")) 
     gender.setSelection(0,true); 
    else 
     gender.setSelection(1,true); 

를 항상 대신에 회 전자의 첫 번째 옵션을 설정 내가 want

누구나 알고 있고 plz을 도울 수 있습니까?

고맙습니다

+1

어디에서'strGender'를 정의합니까? – Sam

+0

위의 'Spinner gender; 나는 String strGender를 가지며 그 값은 "female"입니다. Log ... Log로 인쇄합니다. – kande

+0

'R.array.gender_array'에는 올바른 두 값이 있습니까? 또한'R.id.spinner_edit_gender'에 대한 XML뿐만 아니라 그 내용을 게시 할 수 있습니까? – shanet

답변

1

setSelection(int) 대신 setSelection(int, boolean)의를 사용해보십시오. 시도

+1

필자는 항상 내 응용 프로그램에서'setSelection (int)'를 사용 했으므로 한 가지 예에서 눈에 띄는 차이가없는'setSelection (int, boolean) '으로 변경하려고했습니다. 이것이 OP의 질문에 대한 해결책이되는 경우, 이유를 알고 싶습니다. – shanet

+0

그것은 작동하지 않았다 ..... ( – kande

1

두 가지 :

1) 여기 어둠 속에서 촬영을 예정하고 그것의 XML에서 회 전자에 대한 옵션을 정의하려고 할 것을 제안하고있다. 이것은 제가 setSelection()을 성공적으로 사용하는 앱 중 하나입니다.

<Spinner android:id="@+id/spinner_edit_gender" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"     
    android:prompt="@string/genders" 
    android:entries="@array/gender_array"/> 

하고는 코드가된다 :

Spinner gender = (Spinner) findViewById(R.id.spinner_edit_gender); 
if (strGender.equalsIgnoreCase("male")) 
    gender.setSelection(0,true); 
else 
    gender.setSelection(1,true); 

또는 우리는 조금 애호가 얻으려면 :

Spinner gender = (Spinner) findViewById(R.id.spinner_edit_gender); 
(strGender.equalsIgnoreCase("male")) ? gender.setSelection(0,true) : gender.setSelection(1,true); 

내가 equalsIgnoreCase()equals()를 변경하기 때문에 배열 돈에 당신의 값 귀하의 코드 ("남성"대 "남성")에서 코드의 대문자와 일치하지 않습니다.

2.) 처음 파트를 입력 할 때 ArrayAdapter 유형이 CharSequence입니다. 이 코드를 String으로 변경 한 다음 원래 코드를 테스트 해보십시오. 그러나, 필자의 필요에 따라, XML로 옵션을 정의하는 것을 고려해 볼 수도 있습니다. 필자의 견해로는 ArrayAdapters를 다루는 것보다 회 전자에 대한 옵션을 정의하는 것이 더 깔끔하고 간단한 방법이기 때문입니다.

+0

첫 번째 솔루션이 작동하지 않았고 두 번째 솔루션과 관련하여 감사드립니다. - String으로 변경하려고 시도했지만 오류가 다시 발생했습니다. CharSequence .... – kande

+0

모두에게 감사드립니다 !!! 나는 문제를 해결한다 !!!!! 나는 원래 위치에서 다른 곳으로 코드를 옮기고 작업을 시작했다. ...... – kande

+0

다행이다. 누구에게나 앞으로이 문제가 발생할 수 있습니다. 코드가 원래 있던 위치와 그 위치로 이동 한 위치를 문서화하는 것이 좋겠습니까? – shanet

관련 문제