Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME}#end
  2.  
  3. import android.view.LayoutInflater
  4. import android.view.View
  5. import android.view.ViewGroup
  6. import androidx.recyclerview.widget.DiffUtil
  7. import androidx.recyclerview.widget.ListAdapter
  8. import androidx.recyclerview.widget.RecyclerView
  9.  
  10. #parse("File Header.java")
  11. class ${NAME}(val listener: ${NAME}Listener) :
  12. ListAdapter<${MODEL}, ${NAME}.ViewHolder>(DiffUtils${NAME}()) {
  13.  
  14.  
  15. override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
  16. return ViewHolder.from(parent)
  17. }
  18.  
  19.  
  20. override fun onBindViewHolder(holder: ViewHolder, position: Int) {
  21. val data = getItem(position)
  22.  
  23. holder.bind(data,listener)
  24.  
  25.  
  26. }
  27.  
  28.  
  29. class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
  30.  
  31. companion object {
  32. fun from(parent: ViewGroup): ViewHolder {
  33.  
  34. return ViewHolder(LayoutInflater
  35. .from(parent.context)
  36. .inflate(R.layout.${item_layout}, parent, false))
  37. }
  38.  
  39. }
  40.  
  41. fun bind(
  42. data: ${MODEL}?,
  43. listener: ${NAME}Listener
  44. ) {
  45.  
  46. // todo : setup item
  47.  
  48. }
  49.  
  50. }
  51.  
  52. class DiffUtils${NAME} : DiffUtil.ItemCallback<${MODEL}>() {
  53. override fun areItemsTheSame(oldItem: ${MODEL}, newItem: ${MODEL}): Boolean {
  54. // todo: return example id
  55. return
  56. }
  57.  
  58. override fun areContentsTheSame(oldItem: ${MODEL}, newItem: ${MODEL}): Boolean {
  59. // todo: return
  60. return oldItem == newItem
  61.  
  62. }
  63.  
  64. }
  65.  
  66. class ${NAME}Listener(val clickListener: (item : ${MODEL}?)-> Unit){
  67. fun onItemClickListener(item: ${MODEL}?) = clickListener(item)
  68. }
  69.  
  70.  
  71.  
  72.  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement