package com.future.driver.ui.main.add_order
|
|
import android.app.Activity
|
import android.content.Intent
|
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.future.driver.R
|
import com.future.driver.base.BaseEvent
|
import com.future.driver.base.MyBaseActivity
|
import com.future.driver.base.gaode.AMapKit
|
import com.future.driver.ui.adapter.SearchSitedapter
|
import com.future.driver.ui.main.ChooseCityActivity
|
import com.future.driver.utils.Cache.CacheKey
|
import kotlinx.android.synthetic.main.activity_search_site.*
|
import org.greenrobot.eventbus.EventBus
|
import org.jetbrains.anko.startActivityForResult
|
|
/**
|
* @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终点 3专车补全目的地
|
}
|
|
override fun setContentView() {
|
setContentView(R.layout.activity_search_site)
|
}
|
|
override fun initView() {
|
setTitleText(if (type == "3") "设置目的地" else "搜索地点")
|
recycler_view_site.layoutManager = LinearLayoutManager(this)
|
recycler_view_site.adapter = siteSearchAdapter
|
siteSearchAdapter.data.addAll(CacheKey.getSiteList(type))
|
siteSearchAdapter.notifyDataSetChanged()
|
|
if (type == "3"){
|
setTitleText("设置目的地")
|
tv_city_name.setCompoundDrawablesRelativeWithIntrinsicBounds(0,0,R.mipmap.icon_arrow_open_black,0)
|
tv_city_name.setOnClickListener {
|
startActivityForResult<ChooseCityActivity>(1,"currentCityName" to currentCityName)
|
}
|
}
|
}
|
|
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()
|
}
|
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == Activity.RESULT_OK&&data!=null) {
|
currentCityName = data.getStringExtra("name")
|
tv_city_name.text = currentCityName
|
}
|
}
|
}
|