个人作业第二阶段1
实现教师查看学生每日打卡记录功能:
package com.example.learningmanagement.adapter
import android.content.Intent
import android.net.Uri
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import com.example.learningmanagement.R
import com.example.learningmanagement.entity.DailySummary
class DailySummaryAdapter : ListAdapter<DailySummary, DailySummaryAdapter.ViewHolder>(DiffCallback()) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_daily_summary, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val dailySummary = getItem(position)
holder.bind(dailySummary)
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
private val tvUrl: TextView = itemView.findViewById(R.id.tvUrl)
fun bind(dailySummary: DailySummary) {
tvUrl.text = dailySummary.url
// 设置点击事件,打开URL
itemView.setOnClickListener {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(dailySummary.url))
itemView.context.startActivity(intent)
}
}
}
class DiffCallback : DiffUtil.ItemCallback<DailySummary>() {
override fun areItemsTheSame(oldItem: DailySummary, newItem: DailySummary): Boolean {
return oldItem.id == newItem.id
}
override fun areContentsTheSame(oldItem: DailySummary, newItem: DailySummary): Boolean {
return oldItem == newItem
}
}
}
package com.example.learningmanagement.service
import com.example.learningmanagement.entity.ApiResponse
import com.example.learningmanagement.entity.DailySummary
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.POST
import retrofit2.http.Path
interface DailySummaryService {
@GET("daily/selectAll/{userId}")
suspend fun getDailySummaries(@Path("userId") userId: String): ApiResponse<List<DailySummary>>
@POST("daily/add")
suspend fun addDailySummary(@Body dailySummary: DailySummary): ApiResponse<DailySummary>
}
package com.example.learningmanagement.ui
import android.content.Intent
import android.os.Bundle
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
import com.example.learningmanagement.R
class TeacherMainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_teacher_main)
findViewById<Button>(R.id.btnCheckDailyLogs).setOnClickListener {
startActivity(Intent(this, StudentLogsActivity::class.java))
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<Button
android:id="@+id/btnCheckDailyLogs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="查看学生打卡记录" />
<Button
android:id="@+id/btnOtherFunction"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="其他功能" />
</LinearLayout>

浙公网安备 33010602011771号