Spinner를 이용한 dropdown

이도현·2023년 8월 11일
0

Android 공부

목록 보기
14/30

드롭다운에서 지역명을 클릭하면 이미지뷰에 이미지를 표시하려면 다음과 같이 작성할 수 있습니다

1. spinner1 드롭다운의 선택 이벤트 리스너를 설정합니다. 이벤트 리스너는 사용자가 드롭다운에서 항목을 선택할 때마다 호출됩니다.

kotlinCopy code
spinner1.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
    override fun onItemSelected(
        parent: AdapterView<*>?,
        view: View?,
        position: Int,
        id: Long
    ) {
        val selectedRegion = itemArray[position] // 선택된 지역명 가져오기
        val imageResourceId = getImageResourceId(selectedRegion) // 선택된 지역에 해당하는 이미지 리소스 ID 가져오기
        graphview1.setImageResource(imageResourceId) // 이미지뷰에 이미지 설정
    }

    override fun onNothingSelected(parent: AdapterView<*>?) {
        // 선택이 해제된 경우의 처리
    }
}

2. getImageResourceId() 함수를 만들어 선택된 지역에 해당하는 이미지 리소스 ID를 반환합니다. 이 함수를 작성하여 선택된 지역에 따라 이미지 리소스 ID를 결정할 수 있습니다.

kotlinCopy code
private fun getImageResourceId(region: String): Int {
    return when (region) {
        "롯데월드" -> R.drawable.lotte_world_image
        "방이동먹자골목" -> R.drawable.bangi_food_street_image
        "에비뉴엘월드타워점" -> R.drawable.avenuel_worldtower_image
        "롯데월드몰" -> R.drawable.lotte_world_mall_image
        "올림픽공원" -> R.drawable.olympic_park_image
        else -> R.drawable.default_image // 기본 이미지 리소스 ID
    }
}

위의 코드는 선택된 지역에 따라 해당하는 이미지를 설정하는 예시입니다. 실제로 사용하는 이미지 리소스 ID 및 이름에 맞게 코드를 수정해야 합니다. 또한, 이미지 리소스는 res/drawable 디렉터리에 추가되어 있어야 합니다.

profile
좋은 지식 나누어요

0개의 댓글