마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

스피너 값 받고 해당 값에 따라 랜덤으로 띄우기

0 추천
스피너에서 제시한 항목마다 리스트를 만들어서 그 리스트안에는 노래링크같은걸 넣고싶습니다. 그 다음 사용자가 스피너에서 항목을 선택하면 그 리스트 안의 링크들중에서 랜덤으로 xml에 띄우고싶은데 데이터 베이스를 이용해야하나요? 처음 만들어보는거라 어렵네요 ㅠ
zexpand (160 포인트) 님이 2022년 11월 13일 질문

1개의 답변

+1 추천
 
채택된 답변

ArrayAdapter 또는 SpinnerAdapter를 상속받아서 Adapter를 만들어 사용하시면 됩니다.

https://developer.android.com/reference/android/widget/ArrayAdapter

https://developer.android.com/reference/android/widget/SpinnerAdapter

아래의 두 메소드를 필요에 따라 오버라이드 하세요,

public View getView (int position, 
                View convertView, 
                ViewGroup parent)

public View getDropDownView (int position, 
                View convertView, 
                ViewGroup parent)

이름을 보면 추측하시겠지만, getView 는 선택된 spinner아이템이 화면에 보여지는 것과 관련이 있고,  getDropDownView는 spinner를 눌렀을 때 펼쳐지는 dropdownmenu가 보여지는 것과 관련이 있습니다.

이 메소드들 안에서 LayoutInflater 를 이용해서 준비하신 레이아웃을 inflate해서 사용하시면 됩니다.

위에 있는 링크를 눌러서 해당 메소드들을 보시면 자세한 설명과 기본적인 가이드가 있습니다.

그리고 spinner 아이템을 가져오는 부분은 데이터가 어디에 위치할 건지에 따라 결정하시면 됩니다. 서버에 위치한다면 REST API를 해 가져오면 되고 로컬 DB 사용하실거면 앱 릴리즈할 때 같이 배포가 되던가 해야할 거구요.이 부분은 목적에 맞게 님이 판단할 문제입니다.

spark (227,530 포인트) 님이 2022년 11월 14일 답변
zexpand님이 2022년 11월 20일 채택됨
...