帮我用kotlin代码 写一个课时列表 ,包括课时种类,课时总数,剩余 课时,课时归属人,每次 上课时间 。用列表 形式展示在fragment中
时间: 2024-09-21 14:03:00 浏览: 40
在Kotlin中,你可以创建一个数据类(Data Class)来表示课程信息,并使用列表(List)来存储多个课时。下面是一个简单的例子:
```kotlin
data class CourseSession(
val type: String,
var totalSessions: Int,
var remainingSessions: Int,
val assignedTo: String,
val startTime: LocalTime
)
class CourseList(private val courseSessions: List<CourseSession>) {
// 在Fragment中显示课程列表的方法
fun displayCourseList(inflater: LayoutInflater, container: ViewGroup): View? {
val layout = inflater.inflate(R.layout.course_item_layout, container, false)
for (session in courseSessions) {
val sessionViewHolder = CourseViewHolder(layout)
sessionViewHolder.typeTextView.text = session.type
sessionViewHolder.totalSessionsTextView.text = "总课时: $totalSessions"
sessionViewHolder.remainingSessionsTextView.text = "剩余课时: ${session.remainingSessions}"
sessionViewHolder.assignedToTextView.text = "归属人: $session.assignedTo"
sessionViewHolder.startTimeTextView.text = "上课时间: ${session.startTime.toString()}"
// 添加到布局中
layout.addView(sessionViewHolder.itemView)
}
return layout
}
}
// ViewHolder用于复用并绑定视图
class CourseViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val typeTextView: TextView = itemView.findViewById(R.id.session_type_text_view)
val totalSessionsTextView: TextView = itemView.findViewById(R.id.total_sessions_text_view)
val remainingSessionsTextView: TextView = itemView.findViewById(R.id.remainder_sessions_text_view)
val assignedToTextView: TextView = itemView.findViewById(R.id.assigned_to_text_view)
val startTimeTextView: TextView = itemView.findViewById(R.id.start_time_text_view)
}
```
在这个例子中,`CourseSession` 类包含了课时的信息,而 `CourseList` 类则负责管理课程列表,并在Fragment中显示出来。你需要在 `R.layout.course_item_layout` 中定义适配器布局(如包含类型、总课时等的TextView)。
阅读全文