-
Notifications
You must be signed in to change notification settings - Fork 0
Kotlin usage
Vijay Makwana edited this page Feb 20, 2018
·
9 revisions
Here BR.item is the Binding Resource variable which you declared in your layout
-
with extension function
mBinding.viewPager.setEasyPagerAdapter(mImageList, BR.item) .map<ImageModel>(R.layout.item_view_pager_image)
-
without extension function
EasyPagerAdapter(mImageList, BR.item) .map<ImageModel>(R.layout.item_view_pager_image) .into(mBinding.viewPager)
-
if need onClicks
mBinding.viewPager.setEasyPagerAdapter(mImageList, BR.item) .map<ImageModel, ItemViewPagerImageBinding>(R.layout.item_view_pager_image) { itemBind -> /** here itemBind is your layout binding instance with * the help of you can get all the layout components */ itemBind.textImage.setOnClickListener { Toast.makeText(this@KotlinDemoActivity, itemBind.item?.name, Toast.LENGTH_SHORT).show() } }
-
data variable in different layout with same name
mBinding.viewPager.setEasyPagerAdapter(mPageList, BR.item) .map<ImageModel>(R.layout.item_view_pager_image) .map<PersonDetail>(R.layout.item_view_pager_person_detail_item)
-
data variable in different layout with different name
mBinding.viewPager.setEasyPagerAdapter(mPageList) .map<ImageModel>(R.layout.item_view_pager_image, BR.item) .map<PersonDetail>(R.layout.item_view_pager_person_detail, BR.person) -
different layouts with onClicks
mBinding.viewPager.setEasyPagerAdapter(mPageList) .map<ImageModel>(R.layout.item_view_pager_image, BR.item) .map<PersonDetail, ItemViewPagerPersonDetailBinding> (R.layout.item_view_pager_person_detail, BR.person) { itemBind -> itemBind.btnSubmit.setOnClickListener { Toast.makeText(this@KotlinDemoActivity, "Submit Button Clicked in the Person ${itemBind.person?.name} Page", Toast.LENGTH_LONG).show() } } -
with ItemType
val itemPersonType = ItemType<ItemViewPagerPersonDetailBinding> (R.layout.item_view_pager_person_detail, { itemBind -> itemBind.btnSubmit.setOnClickListener { Toast.makeText(this@KotlinDemoActivity, "Submit Button Clicked in the Person ${itemBind.person?.name} Page", Toast.LENGTH_LONG).show() } }) mBinding.viewPager.setEasyPagerAdapter(mPageList, BR.item) .map<ImageModel>(R.layout.item_view_pager_image) .map<PersonDetail>(itemPersonType, BR.person) -
other functions
- pageTitle(pageTitleList) want to add page title
- pageWidth(1.0F) want to change page width
- set fragment pager adapter
mBinding.viewPager.setEasyFragmentPagerAdapter
(supportFragmentManager, arrayListOf(FragmentA(), FragmentB()))
- set fragment state pager adapter
mBinding.viewPager.setEasyFragmentStatePagerAdapter
(supportFragmentManager, arrayListOf(FragmentA(), FragmentB()))