From 2038b6f7a485bb964678bf5f7a9f3dd573ff3e06 Mon Sep 17 00:00:00 2001 From: maxinyu Date: Thu, 30 Apr 2026 13:48:46 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AEWifi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/WifiListAdapter.kt | 38 +++++++++++++++++++ .../main/res/drawable/rounded_top_corner.xml | 8 ++++ app/src/main/res/layout/dialog_wifi_list.xml | 30 +++++++++++++++ app/src/main/res/layout/item_wifi.xml | 23 +++++++++++ 4 files changed, 99 insertions(+) create mode 100644 app/src/main/java/com/example/defenseapplication/adapter/WifiListAdapter.kt create mode 100644 app/src/main/res/drawable/rounded_top_corner.xml create mode 100644 app/src/main/res/layout/dialog_wifi_list.xml create mode 100644 app/src/main/res/layout/item_wifi.xml diff --git a/app/src/main/java/com/example/defenseapplication/adapter/WifiListAdapter.kt b/app/src/main/java/com/example/defenseapplication/adapter/WifiListAdapter.kt new file mode 100644 index 0000000..19a67a1 --- /dev/null +++ b/app/src/main/java/com/example/defenseapplication/adapter/WifiListAdapter.kt @@ -0,0 +1,38 @@ +package com.example.defenseapplication.adapter + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.example.defenseapplication.databinding.ItemWifiBinding + +class WifiListAdapter( + private val wifiList: List, + private val onItemClick: (String) -> Unit +) : RecyclerView.Adapter() { + + inner class ViewHolder(val binding: ItemWifiBinding) : RecyclerView.ViewHolder(binding.root) { + init { + itemView.setOnClickListener { + val position = adapterPosition + if (position != RecyclerView.NO_POSITION) { + onItemClick(wifiList[position]) + } + } + } + + fun bind(wifiName: String) { + binding.tvWifiName.text = wifiName + } + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val binding = ItemWifiBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return ViewHolder(binding) + } + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + holder.bind(wifiList[position]) + } + + override fun getItemCount(): Int = wifiList.size +} \ No newline at end of file diff --git a/app/src/main/res/drawable/rounded_top_corner.xml b/app/src/main/res/drawable/rounded_top_corner.xml new file mode 100644 index 0000000..03de475 --- /dev/null +++ b/app/src/main/res/drawable/rounded_top_corner.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_wifi_list.xml b/app/src/main/res/layout/dialog_wifi_list.xml new file mode 100644 index 0000000..e95b989 --- /dev/null +++ b/app/src/main/res/layout/dialog_wifi_list.xml @@ -0,0 +1,30 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_wifi.xml b/app/src/main/res/layout/item_wifi.xml new file mode 100644 index 0000000..8504817 --- /dev/null +++ b/app/src/main/res/layout/item_wifi.xml @@ -0,0 +1,23 @@ + + + + + + + + \ No newline at end of file