第二阶段主要进行测试,查漏补缺和对增加的新功能的修改
主页面功能实现的代码
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 }
}

浙公网安备 33010602011771号