From 6b335e64a7e58a37296e50e7e1acc42680ea9e44 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 21 二月 2025 15:08:25 +0800
Subject: [PATCH] 设置

---
 app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt |   98 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 88 insertions(+), 10 deletions(-)

diff --git a/app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt b/app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt
index 3f7139f..ef620d8 100644
--- a/app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt
+++ b/app/src/main/java/com/example/firstapp/ui/notifications/NotificationsFragment.kt
@@ -1,12 +1,20 @@
 package com.example.firstapp.ui.notifications
 
+import android.content.ClipData
+import android.content.ClipboardManager
+import android.content.Context
+import android.content.Intent
+import android.net.Uri
 import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
-import android.widget.TextView
+import android.widget.EditText
+import android.widget.Toast
 import androidx.fragment.app.Fragment
-import androidx.lifecycle.ViewModelProvider
+import androidx.navigation.fragment.findNavController
+import com.google.android.material.dialog.MaterialAlertDialogBuilder
+import com.example.firstapp.R
 import com.example.firstapp.databinding.FragmentNotificationsBinding
 
 class NotificationsFragment : Fragment() {
@@ -22,17 +30,87 @@
         container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View {
-        val notificationsViewModel =
-            ViewModelProvider(this).get(NotificationsViewModel::class.java)
-
         _binding = FragmentNotificationsBinding.inflate(inflater, container, false)
-        val root: View = binding.root
 
-        val textView: TextView = binding.textNotifications
-        notificationsViewModel.text.observe(viewLifecycleOwner) {
-            textView.text = it
+        setupClickListeners()
+
+        return binding.root
+    }
+
+    private fun setupClickListeners() {
+        // 设置提醒
+        binding.settingsReminder.setOnClickListener {
+            // 跳转到设置提醒页面
+            findNavController().navigate(R.id.action_navigation_notifications_to_reminderSettingsFragment)
         }
-        return root
+
+        // 关于小红书
+        binding.aboutApp.setOnClickListener {
+            // 跳转到小红书账号页面
+            val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://www.xiaohongshu.com/user/profile/64978d5c000000001001ee26"))
+            startActivity(intent)
+        }
+
+        // 邮件联系
+        binding.emailContact.setOnClickListener {
+            showEmailDialog()
+        }
+
+        // 意见与反馈
+        binding.feedback.setOnClickListener {
+            showFeedbackDialog()
+        }
+
+        // 分享给好友
+        binding.shareToFriends.setOnClickListener {
+            shareToWechat()
+        }
+    }
+
+    private fun showEmailDialog() {
+        val email = "support@example.com"
+        MaterialAlertDialogBuilder(requireContext())
+            .setTitle("联系邮箱")
+            .setMessage(email)
+            .setPositiveButton("复制") { _, _ ->
+                val clipboard = requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
+                val clip = ClipData.newPlainText("email", email)
+                clipboard.setPrimaryClip(clip)
+                Toast.makeText(context, "邮箱已复制", Toast.LENGTH_SHORT).show()
+            }
+            .setNegativeButton("取消", null)
+            .show()
+    }
+
+    private fun showFeedbackDialog() {
+        val dialogView = LayoutInflater.from(context).inflate(R.layout.dialog_feedback, null)
+        val editText = dialogView.findViewById<EditText>(R.id.feedback_edit_text)
+
+        MaterialAlertDialogBuilder(requireContext())
+            .setTitle("意见反馈")
+            .setView(dialogView)
+            .setPositiveButton("提交") { _, _ ->
+                val feedback = editText.text.toString()
+                if (feedback.isNotEmpty()) {
+                    // TODO: 提交反馈到服务器
+                    Toast.makeText(context, "感谢您的反馈", Toast.LENGTH_SHORT).show()
+                }
+            }
+            .setNegativeButton("取消", null)
+            .show()
+    }
+
+    private fun shareToWechat() {
+        try {
+            val intent = Intent()
+            intent.setPackage("com.tencent.mm")
+            intent.action = Intent.ACTION_SEND
+            intent.type = "text/plain"
+            intent.putExtra(Intent.EXTRA_TEXT, "推荐一个很棒的应用给你!")
+            startActivity(Intent.createChooser(intent, "分享到微信"))
+        } catch (e: Exception) {
+            Toast.makeText(context, "请先安装微信", Toast.LENGTH_SHORT).show()
+        }
     }
 
     override fun onDestroyView() {

--
Gitblit v1.9.3