Guest User

Untitled

a guest
Jan 23rd, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.59 KB | None | 0 0
  1. inner class MyEventAdapter(context: Context, val theBLs: ArrayList<SectionOrRow_buslist>): RecyclerView.Adapter<RecyclerView.ViewHolder>(){
  2.  
  3. override fun getItemViewType(position: Int): Int {
  4. Log.d("Current Boolean", theBLs[position].isRow.toString())
  5.  
  6. if(theBLs[position].isRow){
  7. //true is row
  8. return 1
  9. }else{
  10. return 0
  11. }
  12.  
  13.  
  14. }
  15.  
  16. override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
  17. val item = theBLs.get(position)
  18. Log.d("Current Item", item.toString())
  19.  
  20. if(item.isRow){
  21. val h = holder as RowViewHolder
  22.  
  23. h.myBusName.setText(item.bus_name)
  24. h.myTagName.setText(item.bus_tag)
  25. h.myAddrName.setText(item.bus_address)
  26. h.myPhoneName.setText(item.bus_phone)
  27. h.myEmailName.setText(item.bus_email)
  28. h.myUrlName.setText(item.bus_url)
  29.  
  30.  
  31. Picasso.with(context)
  32. .load("https://thisweekintown.com/advertising/images/"+item.image_name)
  33. .into(h.myImageArea)
  34.  
  35.  
  36. }else{
  37. val h = holder as SectionViewHolder
  38. h.textView.setText(item.catName)
  39. }
  40.  
  41. }
  42.  
  43.  
  44.  
  45. override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder? {
  46.  
  47. if(viewType==1) {
  48. val v = LayoutInflater.from(parent.context).inflate(R.layout.bus_list_row, parent, false)
  49.  
  50. v.bus_url.setOnClickListener(object: View.OnClickListener {
  51. override fun onClick(p0: View?) {
  52. Toast.makeText(
  53. v.context,
  54. "|" + v.bus_url.text + "|",
  55. Toast.LENGTH_SHORT
  56. ).show()
  57. }
  58. })
  59. return RowViewHolder(v)
  60. }
  61.  
  62. if(viewType==0){
  63. val v = LayoutInflater.from(parent.context).inflate(R.layout.bus_list_section, parent, false)
  64. return SectionViewHolder(v)
  65. }
  66. return null
  67. }
  68.  
  69. override fun getItemCount(): Int {
  70. Log.d("All Size", theBLs.size.toString())
  71. return theBLs.size
  72. }
  73.  
  74.  
  75. inner class RowViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
  76.  
  77. var myBusName : TextView
  78. var myTagName : TextView
  79. var myAddrName : TextView
  80. var myUrlName : TextView
  81. var myImageArea : ImageView
  82. var myPhoneName : TextView
  83. var myEmailName : TextView
  84.  
  85.  
  86.  
  87. init {
  88. myBusName = itemView.findViewById<View>(R.id.bus_name) as TextView
  89. myTagName = itemView.findViewById<View>(R.id.bus_tag) as TextView
  90. myAddrName = itemView.findViewById<View>(R.id.bus_address) as TextView
  91. myUrlName = itemView.findViewById<View>(R.id.bus_url) as TextView
  92. myPhoneName = itemView.findViewById<View>(R.id.bus_phone) as TextView
  93. myEmailName = itemView.findViewById<View>(R.id.bus_email) as TextView
  94. myImageArea = itemView.findViewById<View>(R.id.bus_image) as ImageView
  95.  
  96.  
  97. }
  98. }
  99.  
  100. inner class SectionViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
  101. var textView: TextView
  102. init {
  103. textView = itemView.findViewById<View>(R.id.sectionHead) as TextView
  104. }
  105. }
  106.  
  107.  
  108.  
  109. }
Add Comment
Please, Sign In to add comment