lmw
2023-03-11 4df5bb59e5fe9f9d140e5610f7772dd8a05a28d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package com.fuban.driver.ui.main.add_order
 
import androidx.recyclerview.widget.LinearLayoutManager
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.setTextChange
import com.amap.api.services.help.Inputtips
import com.amap.api.services.help.Tip
 
import com.fuban.driver.R
import com.fuban.driver.base.BaseEvent
import com.fuban.driver.base.MyBaseActivity
import com.fuban.driver.base.gaode.AMapKit
import com.fuban.driver.ui.adapter.SearchSitedapter
import com.fuban.driver.utils.Cache.CacheKey
import kotlinx.android.synthetic.main.activity_search_site.*
import org.greenrobot.eventbus.EventBus
 
/**
 * @ClassName SearchSiteActivity
 * @Description 搜索地点
 * @Author Administrator
 * @Date 2020/10/9 10:09
 * @Version 1.0
 */
class SearchSiteActivity: MyBaseActivity() {
 
    var currentCityName:String? = ""
 
    val siteSearchAdapter by lazy {
        SearchSitedapter()
    }
 
    val type by lazy {
        intent.getStringExtra("type") //1起点 2终点
    }
 
    override fun setContentView() {
        setContentView(R.layout.activity_search_site)
    }
 
    override fun initView() {
        setTitleText("搜索地点")
        recycler_view_site.layoutManager = LinearLayoutManager(this)
        recycler_view_site.adapter = siteSearchAdapter
        siteSearchAdapter.data.addAll(CacheKey.getSiteList(type))
        siteSearchAdapter.notifyDataSetChanged()
    }
 
    override fun setOnclick() {
        currentCityName = intent.getStringExtra("currentCityName")
        tv_city_name.text = currentCityName
 
        tv_search.setTextChange {
            if (it.isNotEmpty()){
                AMapKit.searchSite(this,it,currentCityName!!,object : Inputtips.InputtipsListener {
                    override fun onGetInputtips(p0: MutableList<Tip>?, p1: Int) {
                        if (!p0.isNullOrEmpty()){
                            siteSearchAdapter.data.clear()
                            siteSearchAdapter.data.addAll(siteSearchAdapter.setDateSite(p0))
                            siteSearchAdapter.notifyDataSetChanged()
                        }
                    }
 
                })
            }
        }
 
        siteSearchAdapter.setOnItemClickListener { view, position ->
            CacheKey.saveSiteList(siteSearchAdapter.data[position],type)
            EventBus.getDefault().post(BaseEvent(BaseEvent.SELECT_SEARCH_SITE,siteSearchAdapter.data[position].lat.toString()
                ,siteSearchAdapter.data[position].lng.toString(),siteSearchAdapter.data[position].site+","+siteSearchAdapter.data[position].siteDetail))
            finish()
        }
 
        tv_cancel.clickDelay {
            onBackPressed()
        }
 
        tv_clear.clickDelay {
            CacheKey.putKeyStr("searchSite","")
            siteSearchAdapter.data.clear()
            siteSearchAdapter.notifyDataSetChanged()
        }
 
    }
}