Coverage Summary for Class: SimpleViewBindingRcvAdapter (kr.open.library.simple_ui.xml.ui.adapter.normal.simple)

Class Class, % Method, % Branch, % Line, % Instruction, %
SimpleViewBindingRcvAdapter 100% (1/1) 100% (3/3) 100% (6/6) 100% (34/34)


 package kr.open.library.simple_ui.xml.ui.adapter.normal.simple
 
 import android.view.LayoutInflater
 import android.view.ViewGroup
 import androidx.viewbinding.ViewBinding
 import kr.open.library.simple_ui.xml.ui.adapter.normal.base.BaseRcvAdapter
 import kr.open.library.simple_ui.xml.ui.adapter.viewholder.BaseRcvViewBindingViewHolder
 
 /**
  * Simple RecyclerView adapter using ViewBinding-enabled ViewHolders.<br><br>
  * ViewBinding을 사용하는 단순 RecyclerView 어댑터입니다.<br>
  *
  * @param ITEM Type of data items in the list.<br><br>
  *             리스트에 담길 아이템 타입입니다.<br>
  *
  * @param BINDING Generated ViewBinding type for the item view.<br><br>
  *                아이템 뷰에 대응하는 ViewBinding 타입입니다.<br>
  *
  * @param inflate ViewBinding inflate function for item views.<br><br>
  *                아이템 뷰용 ViewBinding inflate 함수입니다.<br>
  *
  * @param onBind Function to bind data to the ViewHolder.<br><br>
  *               뷰홀더에 데이터를 바인딩하는 함수입니다.<br>
  */
 public open class SimpleViewBindingRcvAdapter<ITEM : Any, BINDING : ViewBinding>(
     private val inflate: (LayoutInflater, ViewGroup, Boolean) -> BINDING,
     private val onBind: (BaseRcvViewBindingViewHolder<BINDING>, ITEM, position: Int) -> Unit,
 ) : BaseRcvAdapter<ITEM, BaseRcvViewBindingViewHolder<BINDING>>() {
     /**
      * Creates a new ViewHolder instance.<br><br>
      * 새로운 ViewHolder 인스턴스를 생성합니다.<br>
      *
      * @return A new BaseRcvViewBindingViewHolder instance.<br><br>
      *         새로운 BaseRcvViewBindingViewHolder 인스턴스.<br>
      */
     override fun createViewHolderInternal(
         parent: ViewGroup,
         viewType: Int,
     ): BaseRcvViewBindingViewHolder<BINDING> {
         val binding = inflate(LayoutInflater.from(parent.context), parent, false)
         return BaseRcvViewBindingViewHolder(binding)
     }
 
     /**
      * Binds data to the ViewHolder.<br><br>
      * ViewHolder에 데이터를 바인딩합니다.<br>
      */
     override fun onBindViewHolder(
         holder: BaseRcvViewBindingViewHolder<BINDING>,
         item: ITEM,
         position: Int,
     ) {
         onBind(holder, item, position)
     }
 }