2012-09-21 7 views
-2

안드로이드에서 레이블 "CATEGORY"로 드롭 다운을 구현하고 싶습니다.안드로이드의 스피너 선택에서 텍스트를 변경하지 않고 유지하는 방법은 무엇입니까?

여기에서 "CATEGORY"버튼을 클릭하면 목록이 채워 져야합니다. 그러나 그 목록에서 항목을 선택하면 "CATEGORY"레이블을 변경하고 싶지 않습니다.

어떻게 수행하나요? 당신의 OnItemSelectedListener 방법 내부

+0

@ m0skit0. 내 영어가 좋지 않다고 생각하거나 내 질문에 잘못된 것이 있으면 질문을 편집 할 수있는 옵션이 있습니까? 이것은 내가 대답을 기대하는 것이 아닙니다. 이것은 정말로 당황 스럽다! – Bharath

+0

내가 게시 한 링크를 읽었습니까? 그런 코멘트를 다시 읽고 싶지 않으면 그렇게하십시오. – m0skit0

답변

1

당신이 이해하면에서 값을로드하는 경우 회 전자가 작동하는 방법, 이것은 쉽게됩니다. :)

스피너는 getView 메서드를 사용하여 닫힌 회 전자를 채우고 getDropDownView 메서드를 사용하여 드롭 다운을 만듭니다. 이 정보를 사용하면 닫힌보기에 현재 선택 항목이 아닌 다른 것을 가질 수있는 사용자 지정 어댑터를 만들 수 있습니다. 또한 데이터에 비 데이터 (예 : "CATEGORY")가 있어야하는 것을 피할 수 있습니다.

빠른 예 : 당신이 onItemSelectedListener의 선택을 캡처 할 수 있도록

public class CustomAdapter extends ArrayAdapter { 
    private Context context; 
    private int textViewResourceId; 
    private String[] objects; 

    public CustomAdapter(Context context, int textViewResourceId, 
      String[] objects) { 
     super(context, textViewResourceId, objects); 
     this.context = context; 
     this.textViewResourceId = textViewResourceId; 
     this.objects = objects; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     if (convertView == null) 
      convertView = View.inflate(context, textViewResourceId, null); 
      TextView tv = (TextView) convertView; 
      tv.setText("CATEGORY"); 
     } 
     return convertView; 
    } 
} 

회 전자의 나머지 부분은 정상적으로 작동합니다.

+0

정말 고맙습니다. 완벽하게 작동합니다! 어떤 창피한 진술과 함께 나 앞에서 코드를 작성했습니다. 귀하의 회신에 감사드립니다. – Bharath

0

, 선택의 가치를 어딘가에 공유의 환경 설정을 보관하고 사용하여 위치를 재설정 spinnersetSelection(0); : 스피너 다시 클릭 공유의 환경 설정 :

관련 문제