๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋นˆ ๊ตฌ๋ฉ ์ฑ„์šฐ๊ธฐ

[Android] LayoutInflater inflate ํ•  ๋•Œ viewGroup ์ง€์ • ์•ˆํ•ด์„œ ๋‚˜์˜จ ์ด์Šˆ

๋ฆฌ์‚ฌ์ดํด๋Ÿฌ๋ทฐ์˜ ์•„์ดํ…œ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ด์ƒํ–ˆ๋‹ค.

 

๋ฌธ์ œ ์ƒํ™ฉ

 

๊ฐ ์•„์ดํ…œ ๋ ˆ์ด์•„์›ƒ์€ ConstraintLayout ์•ˆ์— ๊ตฌ์„ฑ๋˜์–ด ์žˆ์—ˆ๋‹ค. ์ตœ์ƒ์œ„ ๋ ˆ์ด์•„์›ƒ์˜ android:layout_width="match_parent" ๊ฐ€ ๋จนํžˆ์ง€ ์•Š์•„์„œ ๋ง๊ฐ€์ง€๋Š” ๊ฒƒ์œผ๋กœ ์ถ”์ธกํ–ˆ๋‹ค. ํ…์ŠคํŠธ๋งŒ ๋ฐ›๋Š” ์•„์ดํ…œ, ์ธ๋„ค์ผ๋„ ๋ฐ›๋Š” ์•„์ดํ…œ ์ด ๋‘ ๊ฐ€์ง€ ํƒ€์ž…์˜ ๋ทฐํ™€๋”๊ฐ€ ์žˆ๋Š”๋ฐ ์™œ ์ธ๋„ค์ผ ๋ฐ›๋Š” ์•„์ดํ…œ๋งŒ ์ด๋Ÿฌ๋Š” ๊ฑด์ง€ ๊ณ ๋ฏผ.

 

๋‹ต์„ ์ฐพ์Œ.

 

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) : ViewHolder {
	val inflater = LayoutInflater.from(parent.context)
    return when(viewType) {
    	VIEW_TEXT -> TextHolder(
        	ItemTxtBinding.inflate(inflater, parent, false)
        )
        VIEW_THUMBNAIL -> ThumnailHolder(
        	ItemThmbnlBinding.inflate(inflater) // <--๋ฌธ์ œ ์›์ธ ๋ฐœ๊ฒฌ
        )
    }
}

 

LayoutInflater์— ๊ด€ํ•ด ์‚ดํŽด๋ณด๊ณ  ๊ฐ€๊ธฐ.

https://medium.com/vingle-tech-blog/android-layoutinflater-b6e44c265408

 

์•ˆ๋“œ๋กœ์ด๋“œ LayoutInflater ์‚ฌ์šฉ๋ฒ•

LayoutInflater๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ, ๋น„๋™๊ธฐ์ ์œผ๋กœ LayoutInflater๋ฅผ ์‚ฌ์šฉ ํ•˜๋Š” ๋ฐฉ๋ฒ•

medium.com

 

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) : ViewHolder {
	val inflater = LayoutInflater.from(parent.context)
    return when(viewType) {
    	VIEW_TEXT -> TextHolder(
        	ItemTxtBinding.inflate(inflater, parent, false)
        )
        VIEW_THUMBNAIL -> ThumnailHolder(
        	ItemThmbnlBinding.inflate(inflater, parent, false) // <--๋ฌธ์ œ ํ•ด๊ฒฐ
        )
    }
}

 

๋ฌธ์ œ ํ•ด๊ฒฐ