VerseScope

The core DSL scope for building RecyclerView content declaratively.

Functions

Link copied to clipboard
inline fun <V : View> item(noinline create: ViewCreator<V>, @LayoutRes layoutRes: Int = 0, data: Any? = Unit, key: Any? = null, contentType: Any? = null, span: Int = 1, fullSpan: Boolean = true, noinline onClick: () -> Unit? = null, noinline onAttach: () -> Unit? = null, noinline onDetach: () -> Unit? = null, noinline onCreate: V.(SmartViewHolder) -> Unit? = null, crossinline onBind: V.() -> Unit = {})

Renders a single item using a Custom View.

inline fun <VB : ViewBinding> item(noinline inflate: Inflate<VB>, @LayoutRes layoutRes: Int = 0, data: Any? = Unit, key: Any? = null, contentType: Any? = null, span: Int = 1, fullSpan: Boolean = true, noinline onClick: () -> Unit? = null, noinline onAttach: () -> Unit? = null, noinline onDetach: () -> Unit? = null, noinline onCreate: VB.(SmartViewHolder) -> Unit? = null, crossinline onBind: VB.() -> Unit = {})

Renders a single item using ViewBinding.

Link copied to clipboard
fun <T : Any> items(items: List<T>, key: (T) -> Any? = null, block: VerseScope.(T) -> Unit)

inline fun <T : Any, V : View> items(items: List<T>, noinline create: ViewCreator<V>, @LayoutRes layoutRes: Int = 0, noinline key: (T) -> Any? = null, contentType: Any? = null, span: Int = 1, fullSpan: Boolean = false, noinline onClick: (T) -> Unit? = null, noinline onAttach: (T) -> Unit? = null, noinline onDetach: (T) -> Unit? = null, noinline onCreate: V.(SmartViewHolder) -> Unit? = null, crossinline onBind: V.(T) -> Unit)

Renders a list of items using a Custom View.

inline fun <T : Any, VB : ViewBinding> items(items: List<T>, noinline inflate: Inflate<VB>, @LayoutRes layoutRes: Int = 0, noinline key: (T) -> Any? = null, contentType: Any? = null, span: Int = 1, fullSpan: Boolean = false, noinline onClick: (T) -> Unit? = null, noinline onAttach: (T) -> Unit? = null, noinline onDetach: (T) -> Unit? = null, noinline onCreate: VB.(SmartViewHolder) -> Unit? = null, crossinline onBind: VB.(T) -> Unit)

Renders a list of items using ViewBinding.

Link copied to clipboard
inline fun <V : View> render(noinline create: ViewCreator<V>, @LayoutRes layoutRes: Int = 0, contentType: Any? = null, span: Int = 1, fullSpan: Boolean = false, noinline onClick: () -> Unit? = null, noinline onAttach: () -> Unit? = null, noinline onDetach: () -> Unit? = null, noinline onCreate: V.(SmartViewHolder) -> Unit? = null, crossinline onBind: V.() -> Unit)
inline fun <VB : ViewBinding> render(noinline inflate: Inflate<VB>, @LayoutRes layoutRes: Int = 0, contentType: Any? = null, span: Int = 1, fullSpan: Boolean = false, noinline onClick: () -> Unit? = null, noinline onAttach: () -> Unit? = null, noinline onDetach: () -> Unit? = null, noinline onCreate: VB.(SmartViewHolder) -> Unit? = null, crossinline onBind: VB.() -> Unit)