语音社交源码群聊开发,需要实现礼物打赏功能( 五 )

> = HashMap()internal var adapters: MutableList = ArrayList()internal var views: MutableList = ArrayList()var allBeen = mutableListOf()override fun initAll() {mPresenter?.giftWall()}override fun setListener() {}override fun processLogic() {}override fun getContext(): Context {return mContext}override fun onEmpty() {}override fun onError() {}override fun giftWall(mutableList: MutableList?) {if (mutableList == null) {return}allBeen = mutableListtry {var k = 0var i = 0while (i < mutableList.size) {var been = mutableListOf()//8是每页想设置的礼物数量if (i + 8 > mutableList.size) {been = mutableList.subList(i, mutableList.size)} else {been = mutableList.subList(i, i + 8)}map.put(k, been)k++views.add(initGridView(been))i = i + 8}val giftPagerAdapter = GiftPagerAdapter(views)vp.setAdapter(giftPagerAdapter)ci.setViewPager(vp)} catch (e: Exception) {e.printStackTrace()}}private fun initGridView(been: List): View {val rootView = layoutInflater.inflate(R.layout.layout_gift_grid, null)val rv = rootView.findViewById(R.id.gv) as RecyclerViewval giftAdapter = GiftAdapter(been as MutableList)rv.layoutManager = GridLayoutManager(mContext, 4)giftAdapter?.bindToRecyclerView(rv)giftAdapter?.setOnItemClickListener { adapter, view, position ->var item = adapter.getItem(position) as GiftBeanallBeen.forEach {it.isChecked = it.id == item.id}refresh()}adapters?.add(giftAdapter)return rootView}fun refresh() {var item = allBeen.filter { it.isChecked }.get(0)adapters.forEach { adapter ->adapter.data.forEach {it.isChecked = item.id == it.id}adapter.notifyDataSetChanged()}}}
的代码:

注:的库是‘me.relex::1.2.2@aar’
【语音社交源码群聊开发,需要实现礼物打赏功能】————————————————