2012-04-03 5 views
0

안녕하세요 저는 회 전자 (spinner5)가 있고 사용자가 "연령"이라는 항목을 선택할 때마다 textview가 21로 변경되기를 원합니다. 나는 다음을 시도했지만 그것은 작동하지 않습니다. if (getSelectedItemPosition() == 1)을 사용하여이 작업을 수행 할 수 있지만 회 전자의 내용은 동적이므로 옵션이 아닙니다. 에만 사용하는 두 개의 문자열 == 때문에 비교if 문에서 회 전자의 선택된 항목을 사용하는 방법 (Android in Eclipse)

  if (spinner5.getSelectedItem().toString()=="age"){ 
      textArea.setText("21"); 
     } 

답변

4

항상 사용 .equalsPrimitive data types

.equals = 비교 두 개의 문자열 값 == = 두 개의 문자열 refrences

if (spinner5.getSelectedItem().toString().equals("age")){ 
      textArea.setText("21"); 
     } 
0

글쎄 가정 비교 당신의 품목의 toString() 메서드가 "age"를 반환하면 == 대신 문자열 비교를 수행해야합니다. Java에서 연산자는 오버로드 될 수 없기 때문에 ==는 내용과 대조적으로 실제 객체 참조를 비교합니다. 당신이 찾고있는 것은 : 원칙적으로

spinner5.getSelectedItem().toString().equals("age") 

, 당신의 유형 등 INT, 플로트,

처럼 원시적 인 경우를 제외하고 항상 .equals()를 사용
관련 문제