第二天
这个作业属于哪个课程 | 软件工程 |
---|---|
作业要求 | 团队作业4——项目冲刺 |
作业目标 | scrum冲刺博客 |
站立会议
昨天完成任务
-
UI界面初始设计(杨伊辙)(4小时)
-
数据库初始设计(刘栋濠)(4小时)
-
完成每日博客(肖丽萍)(1小时)
今天计划完成的工作
-
完成每日博客(肖丽萍)(1小时)
-
继续设计数据库(刘栋濠)(3小时)
-
继续写安卓(杨伊辙)(3小时)
工作中遇到的困难架构设计和底层逻辑讨论中出现分歧,最后顺利统一意见。
编码规范统一花了较长时间。
工作燃尽图
昨天代码签入任务
最新模块代码

package com.github.book.widget import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater import android.view.View import android.widget.* import androidx.constraintlayout.widget.ConstraintLayout import com.github.book.R import java.util.* /** * description none * author ez_yang@qq.com * date 2021.11.7 下午 9:39 * version 1.0 * update none **/ class ComboBox(context: Context, attrs: AttributeSet? = null, def: Int = 0) : ConstraintLayout(context, attrs, def) { constructor(context: Context, attrs: AttributeSet) : this(context, attrs, 0) constructor(context: Context) : this(context, null) private var tv_item: TextView private var ib_more: ImageButton private var tv_description: TextView private var listPopupWindow: ListPopupWindow? = null private var list = listOf<String>() private var myClick: OnMyClick? = null init { LayoutInflater.from(context).inflate(R.layout.widget_combobox, this, true) tv_item = findViewById(R.id.tv_comboBox_item) ib_more = findViewById(R.id.ib_comboBox) tv_description = findViewById(R.id.tv_comboBox_description) setListener() } fun setList(list: List<String>?) { list?.let { this.list = it setItem(it[0]) } } fun setItem(string: String?) { string?.let { tv_item.text = it } } fun setDescription(description: String) { tv_description.text = description } private fun setListener() { ib_more.setOnClickListener { if (listPopupWindow == null) { listPopupWindow = ListPopupWindow(context) show() } else { close() } } } private fun show() { val adapter = SimpleAdapter( context, getStandardList(list), R.layout.item_listpopupwindow, arrayOf("object"), intArrayOf(R.id.tv_listPopupWindow) ) listPopupWindow?.setAdapter(adapter) listPopupWindow?.anchorView = tv_item listPopupWindow?.setOnItemClickListener { parent, view, position, id -> setItem(list[position]) myClick?.onClick(parent, view, position, id, list) close() } listPopupWindow?.show() } private fun close() { listPopupWindow?.dismiss() listPopupWindow = null } private fun getStandardList(l: List<String>): MutableList<Map<String, Any>> { val list = mutableListOf<Map<String, Any>>() var map: MutableMap<String, Any> for (i in l.indices) { map = HashMap() map["object"] = l[i] list.add(map) } return list } interface OnMyClick { fun onClick(parent: AdapterView<*>?, view: View?, position: Int, id: Long, list: List<String>) } fun setMyClick(myClick: OnMyClick) { this.myClick = myClick } }
成员 | 总结 |
---|---|
杨伊辙 | 很有意义的项目 |
刘栋濠 | 继续努力学习java后台技术 |
肖丽萍 | 积极与队友的沟通 |
容海量 | 跟着同学一起讨论非常棒 |
杨健鹏 |