[์•ˆ๋“œ๋กœ์ด๋“œ - ์ฝ”ํ‹€๋ฆฐ] Spinner ์ž๋™ ์‹คํ–‰ ๋ฌธ์ œ

2023. 2. 9. 17:42ใ†Android

๐Ÿคท๐Ÿป‍โ™‚๏ธ Spinner ์‚ฌ์šฉํ•˜๋ฉฐ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ์ 

- ์Šคํ”ผ๋„ˆ ๋‚ด์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ž๋™ ์„ ํƒ๋จ 

- ์Šคํ”ผ๋„ˆ ๋‚ด์—์„œ null ์ฒ˜๋ฆฌ ( ์„ ํƒํ•˜์ง€ ์•Š์Œ )

 

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• 

- ์Šคํ”ผ๋„ˆ๋Š” setSelection์ฒ˜๋ฆฌ๋ฅผ false๋ฅผ ํ•ด์ฃผ์ง€ ์•Š๋Š”๋‹ค๋ฉด ์ž๋™์œผ๋กœ ์ฒ˜์Œ ํ‘œ์‹œ๋œ ๊ฐ’์„ ์„ ํƒํ•œ ๊ฒƒ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค 

๋งŒ์•ฝ ์Šคํ”ผ๋„ˆ์—์„œ ๋„คํŠธ์›Œํฌ๋‚˜ ๋ฐ์ดํ„ฐ์ฒ˜๋ฆฌ๊ฐ€ ๊ผญ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋ผ๋ฉด ๋‹น์—ฐํžˆ ํ•ด์•ผ๋œ๋‹ค ํ•˜์ง€ ์•Š์œผ๋ฉด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ธฐ์ „์— ์ž‘๋™ํ•ด๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค

spinner!!.setSelection(0, false)

 

- Spinner null ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์€ ์ƒ๋‹จํ•ด์„œ setSelection์„ false๋กœ ์ฒ˜๋ฆฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ๊ฐ’์ด ์—†๋‹ค ๊ทธ๋ž˜์„œ null ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์คฌ๋‹ค

spinner!!.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
    override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {

        val router = arrayOf("desc", "asc", "rank", "hits")

        spinnerData = router[p2]

        // ์ฒ˜์Œ pick์ฐฝ์—์„œ ์„ ํƒ์„ ํ•œ ๋’ค์— ์Šคํ”ผ๋„ˆ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ
        if (t_position == null){
            retrofit(spinnerData, category.toString())
        }
        else {
            retrofit(spinnerData, t_position.toString())
        }
    }
    override fun onNothingSelected(p0: AdapterView<*>?) {

    }
}