diff --git a/app/src/main/java/com/skipping/Contant.kt b/app/src/main/java/com/skipping/Contant.kt index b747209..782f291 100644 --- a/app/src/main/java/com/skipping/Contant.kt +++ b/app/src/main/java/com/skipping/Contant.kt @@ -14,6 +14,7 @@ const val BASE_URL = "https://api.xintijiao.com/ijustjump/" const val CLASS = "class" const val GRADE = "grade" const val UNFINISHED = "未完成" +const val FINISHED = "已完成" /** * 账号 diff --git a/app/src/main/java/com/skipping/activity/home/HomeActivity.kt b/app/src/main/java/com/skipping/activity/home/HomeActivity.kt index 972abec..0a167f3 100644 --- a/app/src/main/java/com/skipping/activity/home/HomeActivity.kt +++ b/app/src/main/java/com/skipping/activity/home/HomeActivity.kt @@ -13,13 +13,13 @@ import com.libs.fragment.BaseActivity import com.libs.utils.ActivityManager import com.libs.utils.LogUtil import com.libs.utils.ToastUtil -import com.skipping.NUMBER -import com.skipping.R -import com.skipping.TIMING +import com.skipping.* import com.skipping.activity.begin.BeginActivity +import com.skipping.activity.perform.PerformActivity import com.skipping.activity.setting.SettingActivity import com.skipping.net.ActivityBean import com.skipping.net.GradleBean +import com.skipping.utils.DateUtils import com.skipping.utils.ScreenUtil import com.skipping.view.bubblewindow.BubbleWindow import com.skipping.view.dialog.DialogBean @@ -34,7 +34,7 @@ import kotlinx.android.synthetic.main.activity_home.* */ class HomeActivity : BaseActivity() { lateinit var classList: List - lateinit var dialog:AlertDialog + lateinit var dialog: AlertDialog var choseGradeBeanList = mutableListOf>() var choseCla: GradleBean? = null lateinit var adaper: HomeGridAdaper @@ -68,7 +68,7 @@ class HomeActivity : BaseActivity() { p.getClassList() choseClass.setOnClickListener { - dialog = DialogTool(this).buildList(this, choseGradeBeanList){ + dialog = DialogTool(this).buildList(this, choseGradeBeanList) { choseCla = it.bean chooseIV.text = it.bean.groupName + "班" activityNameEdit?.setText(it.bean.groupName + "班活动") @@ -172,7 +172,15 @@ class HomeActivity : BaseActivity() { recyclerview.layoutManager = layoutManager adaper = HomeGridAdaper(this, list) adaper.setOnItemChangeClickListener { -// PerformActivity.startActivity(this, it.id.toString(), DateUtils.dealDateFormat(it.createdAt)) + when (it.status) { + UNFINISHED -> { + + } + FINISHED -> { + PerformActivity.startActivity(this, it.id.toString(), DateUtils.dealDateFormat(it.createdAt)) + } + } + } adaper.setOnItemStartClickListener { LogUtil.e(it) diff --git a/app/src/main/java/com/skipping/activity/perform/PerformActivity.kt b/app/src/main/java/com/skipping/activity/perform/PerformActivity.kt index c7ed003..963817d 100644 --- a/app/src/main/java/com/skipping/activity/perform/PerformActivity.kt +++ b/app/src/main/java/com/skipping/activity/perform/PerformActivity.kt @@ -4,6 +4,7 @@ import android.app.Activity import android.content.Intent import android.os.Bundle import android.widget.LinearLayout +import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager import com.libs.fragment.BaseActivity @@ -69,6 +70,51 @@ class PerformActivity : BaseActivity() { backBtn.setOnClickListener { finish() } + + code_order.setOnClickListener { + adaper.rank(PerformAdaper.Order.CODE) + changeImg() + } + + time_order.setOnClickListener { + adaper.rank(PerformAdaper.Order.TIME) + changeImg() + } + + num_order.setOnClickListener { + adaper.rank(PerformAdaper.Order.NUM) + changeImg() + } + } + + fun changeImg() { + code_up.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_up_gray)) + code_down.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_up_gray)) + time_up.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_up_gray)) + time_down.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_up_gray)) + num_up.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_up_gray)) + num_down.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_up_gray)) + when (adaper.rankOrder) { + PerformAdaper.Order.CODE -> { + code_down.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_down_black)) + } + PerformAdaper.Order.CODE_DEC -> { + code_up.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_up_black)) + } + PerformAdaper.Order.TIME -> { + time_down.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_down_black)) + } + PerformAdaper.Order.TIME_DEC -> { + time_up.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_up_black)) + } + PerformAdaper.Order.NUM -> { + num_down.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_down_black)) + } + PerformAdaper.Order.NUM_DEC -> { + num_up.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.ic_up_black)) + } + + } } fun showDetail(bean: DetailActivityBean) { diff --git a/app/src/main/java/com/skipping/activity/perform/PerformAdaper.kt b/app/src/main/java/com/skipping/activity/perform/PerformAdaper.kt index 2ce787b..df4cf50 100644 --- a/app/src/main/java/com/skipping/activity/perform/PerformAdaper.kt +++ b/app/src/main/java/com/skipping/activity/perform/PerformAdaper.kt @@ -6,10 +6,9 @@ import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx.recyclerview.widget.RecyclerView -import com.skipping.NUMBER_NAME -import com.skipping.R +import com.libs.utils.LogUtil +import com.skipping.* import com.skipping.TIMING -import com.skipping.TIMING_NAME import com.skipping.net.ActivityBean import com.skipping.net.DetailActivityBean @@ -22,23 +21,87 @@ class PerformAdaper(context: Context, bean: DetailActivityBean) : RecyclerView.A var bean = bean var context = context lateinit var onClick: (bean: DetailActivityBean.CandidatesBean) -> Unit + var list: MutableList = ArrayList() + var rankOrder = Order.CODE + + init { + bean.candidates.forEach { + it.forEach { + list.add(it) + } + } + } + + fun rank(order: Order) { + when (order) { + Order.CODE -> { + if (rankOrder == Order.CODE) { + rankOrder = Order.CODE_DEC + list.sortByDescending { it.studentID } + } else { + rankOrder = Order.CODE + list.sortBy { it.studentID } + } + notifyDataSetChanged() + } + Order.TIME -> { + if (rankOrder == Order.TIME) { + rankOrder = Order.TIME_DEC + if (bean.activityType == NUMBER) { + list.sortByDescending { it.score } + notifyDataSetChanged() + } + } else { + rankOrder = Order.TIME + if (bean.activityType == NUMBER) { + list.sortBy { it.score } + notifyDataSetChanged() + } + } + } + Order.NUM -> { + LogUtil.e("书111",order) + if (rankOrder == Order.NUM) { + rankOrder = Order.NUM_DEC + if (bean.activityType == TIMING) { + list.sortByDescending { it.score } + notifyDataSetChanged() + } + } else { + rankOrder = Order.NUM + if (bean.activityType == TIMING) { + list.sortBy { it.score } + notifyDataSetChanged() + } + } + LogUtil.e("书2222",rankOrder) + } + + + } + } + + private fun or() { + + } + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PerformAdaper.Holder { return Holder(LayoutInflater.from(context).inflate(R.layout.perform_item, parent, false)) } override fun onBindViewHolder(holder: PerformAdaper.Holder, position: Int) { - holder.name.text = bean.candidates[0].get(position).name - holder.code.text = bean.candidates[0].get(position).studentID + holder.name.text = list.get(position).name + holder.code.text = list.get(position).studentID holder.time.text = bean.activityValue.toString() - holder.num.text = bean.candidates[0].get(position).score.toString() + holder.num.text = list.get(position).score.toString() holder.itemView.setOnClickListener { - onClick.invoke(bean.candidates[0].get(position)) + onClick.invoke(list.get(position)) } } override fun getItemCount(): Int { - return bean.candidates[0].size + return list.size } class Holder(itemView: View) : RecyclerView.ViewHolder(itemView) { @@ -52,4 +115,8 @@ class PerformAdaper(context: Context, bean: DetailActivityBean) : RecyclerView.A fun setOnItemClickListener(onClick: (bean: DetailActivityBean.CandidatesBean) -> Unit) { this.onClick = onClick } + + enum class Order { + CODE, CODE_DEC, TIME, TIME_DEC, NUM, NUM_DEC + } } \ No newline at end of file diff --git a/app/src/main/java/com/skipping/utils/OrderUtil.java b/app/src/main/java/com/skipping/utils/OrderUtil.java new file mode 100644 index 0000000..5a0e320 --- /dev/null +++ b/app/src/main/java/com/skipping/utils/OrderUtil.java @@ -0,0 +1,9 @@ +package com.skipping.utils; + +/** + * @author Ming + * 3/30/22 + */ +class OrderUtil { + +} diff --git a/app/src/main/res/drawable/ic_down_black.xml b/app/src/main/res/drawable/ic_down_black.xml new file mode 100644 index 0000000..ce58346 --- /dev/null +++ b/app/src/main/res/drawable/ic_down_black.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_down_gray.xml b/app/src/main/res/drawable/ic_down_gray.xml new file mode 100644 index 0000000..3e22323 --- /dev/null +++ b/app/src/main/res/drawable/ic_down_gray.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_up_black.xml b/app/src/main/res/drawable/ic_up_black.xml new file mode 100644 index 0000000..e88c221 --- /dev/null +++ b/app/src/main/res/drawable/ic_up_black.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_up_gray.xml b/app/src/main/res/drawable/ic_up_gray.xml new file mode 100644 index 0000000..cc34bf1 --- /dev/null +++ b/app/src/main/res/drawable/ic_up_gray.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/activity_perform.xml b/app/src/main/res/layout/activity_perform.xml index 3b8c8b6..857c01d 100644 --- a/app/src/main/res/layout/activity_perform.xml +++ b/app/src/main/res/layout/activity_perform.xml @@ -14,15 +14,15 @@ android:paddingRight="40dp"> + android:paddingBottom="20dp"> + - + android:orientation="horizontal"> - + + + + + + + + + + + + android:orientation="horizontal"> - + + + + + + + + + + + + android:orientation="horizontal"> + + + + + + + + + + + + + #4DE6E6E6 #8C2C2C2C #1296DB + #464547 \ No newline at end of file