From 718f31c92e2029d05260810435a2c70cef6e6ce5 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期四, 24 四月 2025 10:45:55 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/sinata/xqmuse/ui/home/SearchActivity.kt |   29 ++++++++++++++++++++++-------
 1 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/home/SearchActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/home/SearchActivity.kt
index 98ab811..f358877 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/home/SearchActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/home/SearchActivity.kt
@@ -1,11 +1,13 @@
 package com.sinata.xqmuse.ui.home
 
 import androidx.recyclerview.widget.LinearLayoutManager
+import cn.sinata.xldutils.gone
 import cn.sinata.xldutils.utils.SPUtils
 import com.sinata.xqmuse.R
 import com.sinata.xqmuse.network.HttpManager
 import com.sinata.xqmuse.network.request
 import com.sinata.xqmuse.ui.TransparentStatusBarActivity
+import com.sinata.xqmuse.ui.course.CourseSearchResultActivity
 import com.sinata.xqmuse.ui.home.adapter.HotAdapter
 import com.sinata.xqmuse.utils.Const
 import kotlinx.android.synthetic.main.activity_search.*
@@ -21,10 +23,13 @@
     private val hisList = arrayListOf<String>()
     private val hotList = arrayListOf<String>()
     private val hotAdapter = HotAdapter(hotList)
-
+    private val isCourse by lazy { intent.getBooleanExtra("isCourse",false) } //true:搜索课程
+    private val hisKey by lazy { if (isCourse) Const.User.SEARCH_HIS_COURSE else Const.User.SEARCH_HIS_HOME }
+    
     override fun initClick() {
         hotAdapter.setOnItemClickListener { view, position ->
             et_search.setText(hotList[position])
+            et_search.setSelection(hotList[position].length)
             tv_search.callOnClick()
         }
 
@@ -37,16 +42,25 @@
                     hisList.remove(key)
                 hisList.add(0,key)
                 saveHis()
-                startActivity<SearchResultActivity>("key" to key)
+                if (isCourse)
+                    startActivity<CourseSearchResultActivity>("key" to key)
+                else
+                    startActivity<SearchResultActivity>("key" to key)
             }
         }
     }
 
     override fun initView() {
-        rv_hot.layoutManager = LinearLayoutManager(this)
-        rv_hot.adapter = hotAdapter
+        if (isCourse){
+            rv_hot.gone()
+            tv_2.gone()
+            et_search.hint = "搜索你喜欢的课程~"
+        }else{
+            rv_hot.layoutManager = LinearLayoutManager(this)
+            rv_hot.adapter = hotAdapter
+            getHotWordList()
+        }
         getHis()
-        getHotWordList()
     }
 
     private fun getHotWordList(){
@@ -60,7 +74,7 @@
     private fun getHis(){
         hisList.clear()
         fl_his.removeAllViews()
-        val his = SPUtils.instance().getString(Const.User.SEARCH_HIS)
+        val his = SPUtils.instance().getString(hisKey)
         hisList.addAll(his.split(SPLIT).filter { it.isNotEmpty() }.take(10))
         hisList.forEach {
             val inflate = layoutInflater.inflate(R.layout.item_search_his, fl_his, false)
@@ -68,6 +82,7 @@
             inflate.tv_name.text = it
             inflate.tv_name.setOnClickListener { _->
                 et_search.setText(it)
+                et_search.setSelection(it.length)
                 tv_search.callOnClick()
             }
             inflate.iv_del.setOnClickListener { _->
@@ -78,7 +93,7 @@
     }
 
     private fun saveHis() {
-        SPUtils.instance().put(Const.User.SEARCH_HIS,hisList.joinToString(SPLIT) { it }).apply()
+        SPUtils.instance().put(hisKey,hisList.joinToString(SPLIT) { it }).apply()
         getHis()
     }
 }

--
Gitblit v1.7.1