Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME}#end
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import androidx.recyclerview.widget.DiffUtil
- import androidx.recyclerview.widget.ListAdapter
- import androidx.recyclerview.widget.RecyclerView
- #parse("File Header.java")
- class ${NAME}(val listener: ${NAME}Listener) :
- ListAdapter<${MODEL}, ${NAME}.ViewHolder>(DiffUtils${NAME}()) {
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
- return ViewHolder.from(parent)
- }
- override fun onBindViewHolder(holder: ViewHolder, position: Int) {
- val data = getItem(position)
- holder.bind(data,listener)
- }
- class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
- companion object {
- fun from(parent: ViewGroup): ViewHolder {
- return ViewHolder(LayoutInflater
- .from(parent.context)
- .inflate(R.layout.${item_layout}, parent, false))
- }
- }
- fun bind(
- data: ${MODEL}?,
- listener: ${NAME}Listener
- ) {
- // todo : setup item
- }
- }
- class DiffUtils${NAME} : DiffUtil.ItemCallback<${MODEL}>() {
- override fun areItemsTheSame(oldItem: ${MODEL}, newItem: ${MODEL}): Boolean {
- // todo: return example id
- return
- }
- override fun areContentsTheSame(oldItem: ${MODEL}, newItem: ${MODEL}): Boolean {
- // todo: return
- return oldItem == newItem
- }
- }
- class ${NAME}Listener(val clickListener: (item : ${MODEL}?)-> Unit){
- fun onItemClickListener(item: ${MODEL}?) = clickListener(item)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement