Guest User

Untitled

a guest
Feb 15th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME}#end
  2.  
  3. //import android.support.v7.widget.RecyclerView
  4. import androidx.recyclerview.widget.RecyclerView
  5. import android.view.LayoutInflater
  6. import android.view.View
  7. import android.view.ViewGroup
  8. import java.util.*
  9.  
  10. #parse("File Header.java")
  11. class ${NAME}(arg1:List<${Model_Class}>,arg2: OnItemClickListener ) : RecyclerView.Adapter<${NAME}.${ViewHolder_Class}>() {
  12.  
  13. private var data: List<${Model_Class}> = ArrayList()
  14. private var onItemClickListener: OnItemClickListener
  15.  
  16. init{
  17. data = arg1
  18. onItemClickListener = arg2
  19. }
  20.  
  21. override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ${ViewHolder_Class} {
  22. val myViewHolder =
  23. ${ViewHolder_Class}(LayoutInflater.from(parent.context)
  24. .inflate(R.layout.${Item_Layout_ID}, parent, false))
  25.  
  26. myViewHolder?.itemView?.setOnClickListener(View.OnClickListener {
  27. val position = myViewHolder.adapterPosition
  28. if(position != RecyclerView.NO_POSITION)
  29. onItemClickListener.onItemClick(data[position],position)
  30. })
  31. return myViewHolder
  32. }
  33.  
  34. override fun getItemCount() = data.size
  35.  
  36. override fun onBindViewHolder(holder: ${ViewHolder_Class}, position: Int) {
  37. holder.bind(data [position])
  38. }
  39.  
  40. fun swapData(data: List<${Model_Class}>) {
  41. this.data = data
  42. notifyDataSetChanged()
  43. }
  44.  
  45. class ${ViewHolder_Class}(itemView: View) : RecyclerView.ViewHolder(itemView) {
  46.  
  47. fun bind(item: ${Model_Class} ) = with(itemView) {
  48.  
  49. // TODO: Bind the data with View
  50.  
  51. }
  52. }
  53.  
  54. interface OnItemClickListener {
  55. fun onItemClick(item: ${Model_Class}, position: Int)
  56. }
  57. }
Add Comment
Please, Sign In to add comment