在FragmentStateAdapter中将数据返回给Fragment

Adapter

class HomePagerAdapter(val fragment: HomeFragment) : FragmentStateAdapter(fragment){

    /**
     * 创建fragment,可以在此处将数据传送给HomePageFragment
     * 
     */ 
    override fun createFragment(position: Int): Fragment {
        val data = categoryList[position]
        return HomePageFragment.newInstance(data)
    }
}

Fragment

 companion object{

        private const val CATEGORY_TITLE_KEY = "category_title"
        private const val CATEGORY_ID_KEY = "category_id"
        fun newInstance(data: MainCategoryItem.Data?): HomePageFragment{
            val bundle = Bundle()
            bundle.putString(CATEGORY_TITLE_KEY, data!!.title)
            bundle.putInt(CATEGORY_ID_KEY, data.id)
            val fragment = HomePageFragment()
            // fragment.arguments: 向fragment传参数
            fragment.arguments = bundle
            return fragment
        }
    }

在Fragment中使用

 val title = arguments.getString(CATEGORY_TITLE_KEY)

 val arguments = arguments
 val id = arguments?.getInt(CATEGORY_ID_KEY)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值