Skip to content

Instantly share code, notes, and snippets.

@Sefford
Last active January 5, 2020 12:34
Show Gist options
  • Save Sefford/f3399580e365d43c0396e2076f644d4c to your computer and use it in GitHub Desktop.
Save Sefford/f3399580e365d43c0396e2076f644d4c to your computer and use it in GitHub Desktop.
Example of how my renderers work
class RecyclerRendererAdapter : RecyclerView.Adapter() {
val factory : RendererFactory
/*...*/
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
return factory.getRenderer(viewType,
...,
getInflater(parent.context).inflate(viewType, parent, false)) as RecyclerView.ViewHolder
}
}
class ExampleRendererFactory : RendererFactory {
fun overrides getRenderer(id : Integer, ... , view : View) =
when(id) {
R.id.layout_1 -> Renderer1(view)
R.id.layout_2 -> Renderer2(view)
...
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment