lmw
2023-06-07 f9dd2cdac746d308d5c4bcfdbea389ab67a66b12
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package com.kuanzhai.user.ui.menu
 
import android.view.inputmethod.EditorInfo
import androidx.recyclerview.widget.LinearLayoutManager
import cn.sinata.xldutils.clickDelay
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout
import com.kuanzhai.user.R
import com.kuanzhai.user.network.HttpManager
import com.kuanzhai.user.network.entity.RentBean
import com.kuanzhai.user.network.entity.SaleBean
import com.kuanzhai.user.network.entity.WantedBean
import com.kuanzhai.user.network.request
import com.kuanzhai.user.ui.TransparentStatusBarActivity
import com.kuanzhai.user.ui.menu.adapter.RentAdapter
import com.kuanzhai.user.ui.menu.adapter.SaleAdapter
import com.kuanzhai.user.ui.menu.adapter.WantedAdapter
import kotlinx.android.synthetic.main.activity_seach_car.*
import org.jetbrains.anko.startActivity
 
class SearchCarActivity:TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_seach_car
 
    private val type by lazy { intent.getIntExtra("type", TYPE_SALE) }
    private val list = arrayListOf<SaleBean>()
    private val rentList = arrayListOf<RentBean>()
    private val jobList = arrayListOf<WantedBean>()
    private val adapter by lazy {
        when(type){
            TYPE_RENT-> RentAdapter(rentList)
            TYPE_SALE-> SaleAdapter(list)
            else-> WantedAdapter(jobList)
        }
    }
    private var page = 1
 
    private var key = ""
 
    override fun initClick() {
        tv_cancel.clickDelay { finish() }
        adapter.setOnItemClickListener { view, position ->
            when(type){
                TYPE_RENT-> startActivity<RentCarDetailActivity>("id" to list[position].id)
                TYPE_SALE-> startActivity<CarDetailActivity>("id" to list[position].id)
                TYPE_JOB-> startActivity<JobDetailActivity>("id" to list[position].id)
            }
        }
    }
 
    override fun initView() {
        title = "搜索"
        if (type == TYPE_JOB)
            et_search.hint = "搜索招聘信息"
        swipeRefreshLayout.setLayoutManager(LinearLayoutManager(this))
        swipeRefreshLayout.setAdapter(adapter)
        swipeRefreshLayout.setMode(SwipeRefreshRecyclerLayout.Mode.None)
//        swipeRefreshLayout.setOnRefreshListener(object : SwipeRefreshRecyclerLayout.OnRefreshListener{
//            override fun onRefresh() {
//            }
//
//            override fun onLoadMore() {
//                page++
//                getData()
//            }
//        })
        swipeRefreshLayout.setLoadMoreText("")
 
        et_search.setOnEditorActionListener { v, actionId, event ->
            if (actionId == EditorInfo.IME_ACTION_SEARCH){
                key = et_search.text.toString()
                if (key.isEmpty()){
                    myToast("请输入搜索内容")
                    return@setOnEditorActionListener true
                } else{
                    hideInputMethod()
                    swipeRefreshLayout.isRefreshing = true
                    page = 1
                    getData()
                }
            }
            return@setOnEditorActionListener false
        }
    }
 
    private fun getData(){
        if (key.isNotEmpty())
            when(type){
                TYPE_RENT->
                    HttpManager.getCarRentalList(null,key,null,null,null,
                        null,null,null,page,1000).request(this,success = {_,data->
                        swipeRefreshLayout.isRefreshing = false
                        if (page == 1)
                            rentList.clear()
                        rentList.addAll(data?: emptyList())
                        adapter.notifyDataSetChanged()
                    }){_,_->
                        swipeRefreshLayout.isRefreshing = false
                    }
                TYPE_SALE->
                    HttpManager.getSellingCarList(null,key,null,null,null,
                        null,null,null,null,null,null,null,
                        null,null,page,1000).request(this,success = {_,data->
                        swipeRefreshLayout.isRefreshing = false
                        if (page == 1)
                            list.clear()
                        list.addAll(data?: emptyList())
                        adapter.notifyDataSetChanged()
                    }){_,_->
                        swipeRefreshLayout.isRefreshing = false
                    }
                else->
                    HttpManager.getRecruitList(null,key,null,null,null,page,
                        1000).request(this,success = {_,data->
                        swipeRefreshLayout.isRefreshing = false
                        if (page == 1)
                            jobList.clear()
                        jobList.addAll(data?: emptyList())
                        adapter.notifyDataSetChanged()
                    }){_,_->
                        swipeRefreshLayout.isRefreshing = false
                    }
            }
    }
 
    companion object{
        const val TYPE_RENT = 1
        const val TYPE_SALE = 2
        const val TYPE_JOB = 3
    }
}