罗明文
22 小时以前 442124baa483f8d1c4aaca7ff81e15dd3f122363
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package com.dollearn.student.dialog
 
import android.content.DialogInterface
import android.view.Gravity
import androidx.core.os.bundleOf
import androidx.fragment.app.FragmentManager
import androidx.recyclerview.widget.GridLayoutManager
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import cn.sinata.xldutils.utils.showAllowingStateLoss
import com.dollearn.student.R
import com.dollearn.student.network.entity.Goods
import com.dollearn.student.ui.home.WeekSelectActivity
import com.facebook.drawee.view.SimpleDraweeView
import kotlinx.android.synthetic.main.dialog_recommend_info.*
import org.jetbrains.anko.support.v4.startActivity
 
class RecommendGoodsDialog:BaseDialogFragment(){
    override fun setContentView() = R.layout.dialog_recommend_info
 
    private val goods by lazy { arguments?.getParcelableArrayList<Goods>("goods")?: arrayListOf() }
    private val adapter by lazy { RecommendGoodsAdapter(goods) }
 
    override fun setGravity() = Gravity.CENTER
 
    override fun initView() {
        rv_goods.layoutManager = GridLayoutManager(requireContext(),3)
        rv_goods.adapter = adapter
        tv_close.setOnClickListener {
            dismissAllowingStateLoss()
        }
    }
 
    companion object{
        fun show(fm:FragmentManager,goods:ArrayList<Goods>){
            val gameInfoDialog = RecommendGoodsDialog()
            gameInfoDialog.arguments = bundleOf("goods" to goods)
            gameInfoDialog.showAllowingStateLoss(fm,"goods")
        }
    }
 
    override fun onDismiss(dialog: DialogInterface) {
        super.onDismiss(dialog)
        startActivity<WeekSelectActivity>()
    }
}
 
class RecommendGoodsAdapter(goods: ArrayList<Goods>):HFRecyclerAdapter<Goods>(goods,R.layout.item_goods) {
    override fun onBind(holder: ViewHolder, position: Int, data: Goods) {
        holder.bind<SimpleDraweeView>(R.id.iv_goods).setImageURI(data.coverImg)
        holder.setText(R.id.tv_name,data.name)
    }
 
}