package app.submissions.dicoding.footballmatchschedule import android.annotation.SuppressLint import android.content.Context import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.support.v7.widget.LinearLayoutManager import android.view.View import android.view.ViewGroup import android.widget.TextView import org.jetbrains.anko.* import org.jetbrains.anko.recyclerview.v7.recyclerView class CobaRecyclerViewAnko : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) RecyclerView().setContentView(this) } class RecyclerView : AnkoComponent { override fun createView(ui: AnkoContext): View = with(ui) { return verticalLayout { lparams(width = matchParent, height = matchParent) recyclerView { layoutManager = LinearLayoutManager(ctx) adapter = MyAdapter(listOf("Anwar", "Aufa Ahdi", "Jihad", "Lian", "Bang Cepot", "Bang Rizal")) }.lparams(width = matchParent, height = matchParent) } } } class MyAdapter(private val items: List) : android.support.v7.widget.RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH { val viewItem = MyViewHolderItem().createView(AnkoContext.create(parent.context, parent)) val vh = VH(viewItem) return vh } override fun getItemCount(): Int { return items.size } override fun onBindViewHolder(holder: VH, position: Int) { holder.textView.text = items[position] } class VH(val view: View) : android.support.v7.widget.RecyclerView.ViewHolder(view) { @SuppressLint("ResourceType") val textView: TextView = view.findViewById(1) } } class MyViewHolderItem : AnkoComponent { @SuppressLint("ResourceType") override fun createView(ui: AnkoContext): View = with(ui) { return linearLayout { textView { id = 1 padding = dip(10) } } } } }