Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- open class JobsAdapter(private val jobs: ArrayList<JobModel>, private val ctx: Context, private val click: Click) : RecyclerView.Adapter<JobsAdapter.JobsHolder>() {
- lateinit var view: View
- override fun onCreateViewHolder(viewGroup: ViewGroup, p1: Int): JobsHolder {
- view = LayoutInflater.from(viewGroup.context).inflate(R.layout.job_list_item, viewGroup, false)
- return JobsHolder(view)
- }
- override fun getItemCount(): Int {
- return jobs.size
- }
- override fun onBindViewHolder(holder: JobsHolder, position: Int) {
- val jobModel = jobs[position]
- holder.tvPosition.text = jobModel.position
- holder.tvAddress.text = jobModel.location
- holder.tvCompany.text = jobModel.company_name
- holder.itemView.setOnClickListener {
- if (!jobModel.isSeen) {
- Singleton.clickReq(jobModel.id, ctx)
- }
- holder.itemView.background = ContextCompat.getDrawable(ctx, R.drawable.message_list_item_bg)
- click.sendData(Uri.parse(jobModel.job_link).toString(), holder.adapterPosition, jobModel.position!!)
- }
- holder.ivAddTo.setOnClickListener {
- holder.progressBar.visibility = View.VISIBLE
- holder.ivAddTo.setBackgroundResource(R.drawable.added_to_notepad)
- holder.ivAddTo.visibility = View.GONE
- holder.ivAddTo.isClickable = false
- Singleton.jobLstPos = position
- saveToNotepad(jobModel.id)
- }
- if (jobModel.isSeen) {
- holder.itemView.background = ContextCompat.getDrawable(ctx, R.drawable.message_list_item_bg)
- } else {
- holder.itemView.setBackgroundColor(Color.parseColor("#fafafa"))
- }
- }
- override fun onBindViewHolder(holder: JobsHolder, position: Int, payloads: List<Any>) {
- if (payloads.isNotEmpty()) {
- when (payloads[0]) {
- 1 -> {
- holder.ivAddTo.visibility = View.GONE
- }
- }
- } else {
- super.onBindViewHolder(holder, position, payloads)
- }
- }
- private fun saveToNotepad(id: Int) {
- Singleton.apiService(ctx).saveTo("Bearer " + ctx.getSharedPreferences("appD", 0).getString("access_token", ""), id).enqueue(object : Callback<SaveTo> {
- override fun onResponse(call: Call<SaveTo>, response: Response<SaveTo>) {
- if (response.isSuccessful) {
- notifyItemChanged(view.getTag(R.id.tag_3) as Int, 1)
- }
- }
- override fun onFailure(call: Call<SaveTo>, t: Throwable) {
- }
- })
- }
- class JobsHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
- var tvCompany = itemView.findViewById<TextView>(R.id.tv_company)!!
- var tvDate = itemView.findViewById<TextView>(R.id.tv_date)!!
- var tvPosition = itemView.findViewById<TextView>(R.id.tv_job_title)!!
- var tvAddress = itemView.findViewById<TextView>(R.id.tv_address)!!
- var ivAddTo = itemView.findViewById<ImageView>(R.id.add_to_notepad)!!
- var progressBar = itemView.findViewById<ProgressBar>(R.id.progressBar)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement