罗明文
20 小时以前 442124baa483f8d1c4aaca7ff81e15dd3f122363
app/src/main/java/com/dollearn/student/ui/home/adapter/GameAdapter.kt
@@ -4,6 +4,8 @@
import android.view.View
import android.widget.ImageView
import androidx.constraintlayout.motion.widget.MotionLayout
import androidx.constraintlayout.widget.ConstraintLayout
import cn.sinata.xldutils.activity.ImagePagerActivity
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import com.dollearn.student.R
@@ -16,20 +18,31 @@
import com.facebook.drawee.view.SimpleDraweeView
import kotlinx.android.synthetic.main.fragment_listen.*
import org.greenrobot.eventbus.EventBus
import org.jetbrains.anko.dip
import org.jetbrains.anko.startActivity
import java.util.ArrayList
class GameAdapter(list: ArrayList<Subject>):HFRecyclerAdapter<Subject>(list, R.layout.item_game_1) {
    var height:Int = 200 //行高
    override fun onBind(holder: ViewHolder, position: Int, data: Subject) {
        val act = context as SuperListenActivity
        holder.bind<SimpleDraweeView>(R.id.iv_img).setImageURI(data.img)
        val view = holder.bind<View>(R.id.cl_voice_end_1)
        val iv_full = holder.bind<View>(R.id.iv_full)
        iv_full.setOnClickListener {
            act.showFullImage = true
            act.startActivity<ImagePagerActivity>("url" to arrayListOf(data.img))
        }
        val motion = holder.bind<MotionLayout>(R.id.motion)
        motion.progress = 0f
        val ivResult = holder.bind<ImageView>(R.id.result_1)
        view.visibility = if (data.right) View.VISIBLE else View.GONE
        view.visibility = if (data.right) View.VISIBLE else View.INVISIBLE
        view.clickDelay {
//            (context as SuperListenActivity)
        }
        val act = context as SuperListenActivity
        val layoutParams = motion.layoutParams as ConstraintLayout.LayoutParams
        layoutParams.height = height - act.dip(16)
        motion.layoutParams = layoutParams
        holder.itemView.setOnClickListener {
            if (act.playing||act.index>act.voiceList.size-1)
                return@setOnClickListener
@@ -47,15 +60,14 @@
                ivResult.setImageResource(R.mipmap.successs)
                act.handler?.sendEmptyMessage(act.PLAY_RIGHT)
                act.rightCount++
                subject.completed = true
                subject.right = true
                notifyItemChanged(position)
                act.transAnimation(view)
            }else{
                act.handler?.sendEmptyMessage(act.PLAY_ERROR) //选择答案后,停止倒计时
                ivResult.setImageResource(R.mipmap.zhifushibai)
                subject.completed = true
                subject.right = false
                act.index++
                act.startGame()
            }
            motion.transitionToEnd()
            motion.setTransitionListener(object :MotionLayout.TransitionListener{