1.开课作业2.结对作业13.结对作业24.结对作业35.结对作业46.结对作业57.结对作业68.结对作业79.结对作业810.结对作业911.结对作业1012.第一阶段冲刺个人分工13.第一阶段冲刺114.第一阶段冲刺215.第一阶段冲刺316.第一阶段冲刺417.第一阶段冲刺518.第一阶段冲刺619.第一阶段冲刺720.第一阶段冲刺821.第一阶段冲刺922.第一阶段冲刺1023.人月神话读后感0124.人月神话读后感0225.人月神话读后感0326.梦断代码读后感0227.梦断代码读后感0128.每日总结3729.每日总结3830.第一阶段自我总结 贡献度最少原因和下阶段目标31.构建之法读后感0232.构建之法读后感0333.梦断代码读后感0334.构建之法读后感0135.每日总结3936.每日总结4037.每日总结4138.每日总结5339.每日总结5440.每日总结5541.每日总结5642.每日总结5743.每日总结5844.每日总结6045.每日总结6146.每日总结64(事后诸葛亮会议)47.每日总结63(关于课程个人总结)
48.第二阶段冲刺1
49.第二阶段冲刺250.第二阶段冲刺351.第二阶段冲刺452.第二阶段冲刺553.第二阶段冲刺654.第二阶段冲刺755.第二阶段冲刺856.第二阶段冲刺957.第二阶段冲刺10第二阶段主要进行测试,查漏补缺和对增加的新功能的修改
主页面功能实现的代码
package com.example.newapplication.homeFragment import android.content.Intent import android.os.Bundle import android.os.Handler import android.os.Looper import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Toast import androidx.core.view.size import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.viewpager2.widget.ViewPager2 import com.example.newapplication.R import com.example.newapplication.adapter.AdAdapter import com.example.newapplication.adapter.NewsAdapter import com.example.newapplication.adapter.TaskAdapter import com.example.newapplication.databinding.FragmentHomeBinding import com.example.newapplication.entity.AdItem import com.example.newapplication.entity.News import com.example.newapplication.entity.Task import com.example.newapplication.taskActivity.DiedaoActivity import com.example.personalwork.utils.ApiClient import kotlinx.coroutines.launch class HomeFragment : Fragment() { private var _binding: FragmentHomeBinding? = null private val binding get() = _binding!! private lateinit var viewPager: ViewPager2 private lateinit var adAdapter: AdAdapter private val adList = listOf( AdItem("社区公告", R.drawable.img_1), AdItem("急救知识", R.drawable.img), AdItem("安全常识", R.drawable.img_2) ) override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { _binding = FragmentHomeBinding.inflate(inflater, container, false) val view = binding.root listPage() val handler = Handler(Looper.getMainLooper()) val updateAdTask = object : Runnable { override fun run() { val currentItem = viewPager.currentItem viewPager.setCurrentItem((currentItem + 1) % adList.size, true) handler.postDelayed(this, 5000) // 5秒后再次执行 } } // 开始定时任务 handler.postDelayed(updateAdTask, 5000) viewPager = view.findViewById(R.id.viewPager) adAdapter = AdAdapter(adList) viewPager.adapter = adAdapter return view } fun listPage(){ val recyclerView = binding.listItem val newsList = mutableListOf<News>() lifecycleScope.launch { val listResponse = ApiClient.apiService.getNews() val resultList = listResponse.body()?.data if(listResponse.isSuccessful && resultList!=null){ for(i in 0 until 5){ val news = resultList.get(i); newsList.add(news) } }else { Toast.makeText(requireContext(), "查找失败", Toast.LENGTH_SHORT).show() } val layoutManager = LinearLayoutManager(requireContext()) recyclerView.layoutManager = layoutManager val adapter = NewsAdapter(newsList) recyclerView.adapter = adapter } } override fun onDestroyView() { super.onDestroyView() _binding = null }
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统