package com.shsening.autouploadvideos import SessionProfile import SessionProfileManager import android.app.Activity import android.app.AlertDialog import android.content.Intent import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ArrayAdapter import android.widget.Button import android.widget.CheckBox import android.widget.ListView import androidx.fragment.app.Fragment import android.widget.TextView import com.shsening.autouploadvideos.utils.Utils class UploadListFragment : Fragment() { private lateinit var listView: ListView private lateinit var btnAllTask: View private val REQUEST_CODE = 100 private val sessionProfiles = mutableListOf() // Replace with your real data source override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { val view = inflater.inflate(R.layout.upload_list, container, false) listView = view.findViewById(R.id.upload_list_view) btnAllTask = view.findViewById(R.id.btn_all_task) setupListView() setupAllTaskButton() return view } private fun setupListView() { // 清空适配器 listView.adapter = null // 从 SessionProfileManager 获取所有的 SessionProfile val sessionProfiles = SessionProfileManager(requireContext()).getAllProfiles() // 自定义适配器实现删除按钮功能 val adapter = object : ArrayAdapter( requireContext(), android.R.layout.simple_list_item_2, sessionProfiles ) { override fun getView(position: Int, convertView: View?, parent: ViewGroup): View { val inflater = LayoutInflater.from(context) val view = convertView ?: inflater.inflate(R.layout.list_item_with_checkbox, parent, false) // 获取当前的 SessionProfile val sessionProfile = getItem(position) // 填充数据 val text1 = view.findViewById(android.R.id.text1) val textType = Utils.getSessionProfileValueByPosition(sessionProfile?.type) text1.text = "${sessionProfile?.name} (${textType})" val text2 = view.findViewById(android.R.id.text2) text2.text = sessionProfile?.lastUploadTime // 设置删除按钮 val deleteButton = view.findViewById