Skip to content

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

  1. pageTitle(pageTitleList) want to add page title
  2. 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()))
Clone this wiki locally