투케이2K

554. (kotlin/코틀린) [간단 소스] ArrayAdapter.createFromResource 사용해 스피너 어댑터 아이템 지정 방법 - Spinner adapter 본문

Kotlin

554. (kotlin/코틀린) [간단 소스] ArrayAdapter.createFromResource 사용해 스피너 어댑터 아이템 지정 방법 - Spinner adapter

투케이2K 2025. 6. 11. 20:23
728x90
반응형

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Java / Kotlin

- 개발 툴 : AndroidStudio

- 기술 구분 : Spinner / adapter

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[arrays.xml 파일 : 소스 코드]
// --------------------------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string-array name="user_info">
        <item>이름 (name)</item>
        <item>나이 (age)</item>
    </string-array>

</resources>

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[코틀린 : 소스 코드]
// --------------------------------------------------------------------------------------

// ------------------------------------------
[전역 변수 선언]
// ------------------------------------------

private var rootView: View? = null
private var userSpinner: Spinner ?= null


// ------------------------------------------
[컴포넌트 매핑 수행]
// ------------------------------------------

rootView = LayoutInflater.from(context).inflate(R.layout.activity_user_dialog, null, false)
userSpinner = rootView?.findViewById(R.id.spMobileType)


// ------------------------------------------
[ArrayAdapter.createFromResource 사용해 스피너 어댑터 arrays.xml 파일 아이템 지정]
// ------------------------------------------

userSpinner?.adapter = ArrayAdapter.createFromResource(context, R.array.user_info, R.layout.text_spinner_dropdown_item_nano)


// ------------------------------------------
[스피너 아이템 클릭 이벤트 등록]
// ------------------------------------------

userSpinner?.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
    override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {

        try {
            
            var itemName = userSpinner?.adapter?.getItem(position).toString() // [아이템 명칭]

            S_Log.w("KWON_TWOK", ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [스피너 아이템 선택] : [" + itemName.toString() + "] : " + " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
          
        }
        catch (e: Exception){
            e.printStackTrace()            
        }

    }

    override fun onNothingSelected(parent: AdapterView<*>?) {
    }
}

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[간단 소스] 스피너 spinner 메뉴 아이템 선택 이벤트 확인 및 선택 된 아이템 명칭 확인 방법

https://blog.naver.com/kkh0977/223888731326?trackingCode=blog_bloghome_searchlist


[코틀린 스피너 (spinner) 메뉴 아이템 선택 onItemSelectedListener 이벤트 리스너 등록]

https://blog.naver.com/kkh0977/223018164461?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
728x90
반응형
Comments