package Ġcom . ak ex orc ist . concat adapter Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ak ex orc ist . concat adapter . databinding . View Horizontal Wrapper Binding Ċ Ċ class ĠHorizontal Wrapper Adapter ( ĊĠĠĠ Ġprivate Ġval Ġadapter : ĠHorizontal Adapter Ċ ) Ġ: ĠRecyclerView . Adapter < Horizontal Wrapper ViewHolder >() Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġlast Scroll X Ġ= Ġ 0 ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠKEY _ SCROLL _ X Ġ= Ġ" horizontal . wrapper . adapter . key _ scroll _ x " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠVIEW _ TYPE Ġ= Ġ 3 3 3 3 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠHorizontal Wrapper ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠHorizontal Wrapper ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView Horizontal Wrapper Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠVIEW _ TYPE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠHorizontal Wrapper ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( adapter , Ġlast Scroll X ) Ġ{ Ġx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Scroll X Ġ= Ġx ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġ 1 ĊĊĠĠĠ Ġfun Ġon Save State ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġout State . put Int ( KEY _ SCROLL _ X , Ġlast Scroll X ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Restore State ( saved State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Scroll X Ġ= Ġsaved State . getInt ( KEY _ SCROLL _ X ) ĊĠĠĠ Ġ} Ċ } Ċ