Skip to content

Instantly share code, notes, and snippets.

@blessedbyjobs
Created March 17, 2020 09:10
Show Gist options
  • Save blessedbyjobs/15c8b17af6f0570beab0dce733a1267c to your computer and use it in GitHub Desktop.
Save blessedbyjobs/15c8b17af6f0570beab0dce733a1267c to your computer and use it in GitHub Desktop.
class MainActivity : AppCompatActivity() {
private lateinit var linearLayoutManager: LinearLayoutManager
private lateinit var viewAdapter: RecyclerView.Adapter<*>
private var dataset: List<String> = listOf("zero", "one", "two", "three", "four", "five", "six", "seven", "nine", "ten")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
initRecyclerView()
}
private fun initRecyclerView() {
linearLayoutManager = LinearLayoutManager(this)
viewAdapter = ExampleAdapter(dataset)
recyclerView.layoutManager = linearLayoutManager
recyclerView.adapter = viewAdapter
recyclerView.setHasFixedSize(true)
}
}
class ExampleAdapter(private val dataset: List<String>) : RecyclerView.Adapter<ExampleAdapter.ExampleViewHolder>() {
class ExampleViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val exampleTextView: TextView = itemView.findViewById(R.id.item_textview)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ExampleViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.rv_element, null)
return ExampleViewHolder(view)
}
override fun getItemCount() = dataset.size
override fun onBindViewHolder(holder: ExampleViewHolder, position: Int) {
holder.exampleTextView.text = dataset[position]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment