diff options
author | Jelena Petrovic <jelenapetrovic.7119@gmail.com> | 2022-11-06 20:10:05 +0100 |
---|---|---|
committer | Jelena Petrovic <jelenapetrovic.7119@gmail.com> | 2022-11-06 20:10:05 +0100 |
commit | 40066cc6ec4039517766906e8e31e98c298244e1 (patch) | |
tree | a48c4e91a5bdebd27e9d07b706b8a7c496533fd9 | |
parent | 006b513dc0356884e5cc5a66fed5e6b2983e178b (diff) |
Dodat onclick dogadjaj na klik objave, treba odraditi logiku za prelayak na objavu #17
2 files changed, 25 insertions, 23 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt index 5f11ded..9da0014 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/ShowPostsAdapter.kt @@ -1,42 +1,43 @@ package com.example.brzodolokacije.Adapters -import android.graphics.BitmapFactory +import android.app.Activity +import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup +import android.widget.Toast import androidx.recyclerview.widget.RecyclerView -import com.example.brzodolokacije.Models.ListItemModel -import com.example.brzodolokacije.Models.Post import com.example.brzodolokacije.Models.PostPreview -import com.example.brzodolokacije.databinding.ListItemBinding import com.example.brzodolokacije.databinding.PostPreviewBinding -import java.io.Console -class ShowPostsAdapter (val items : MutableList<PostPreview>) - : RecyclerView.Adapter<ShowPostsAdapter.ViewHolder>(){ +class ShowPostsAdapter (val activity:Activity,val items : MutableList<PostPreview>) + : RecyclerView.Adapter<ShowPostsAdapter.ViewHolder>() { //constructer has one argument - list of objects that need to be displayed //it is bound to xml of single item private lateinit var binding: PostPreviewBinding override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val inflater = LayoutInflater.from(parent.context) - binding=PostPreviewBinding.inflate(inflater,parent,false) + binding = PostPreviewBinding.inflate(inflater, parent, false) return ViewHolder(binding) } - override fun onBindViewHolder(holder: ViewHolder, position: Int){ + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { //sets components of particular item holder.bind(items[position]) -/* holder.itemView.setOnClickListener { - fun listener(position: Int){ - binding.tvTitle.text="klik" - } - }*/ } + + override fun getItemCount() = items.size - inner class ViewHolder(itemView : PostPreviewBinding) : RecyclerView.ViewHolder(itemView.root){ - fun bind(item : PostPreview){ + inner class ViewHolder(itemView: PostPreviewBinding) : RecyclerView.ViewHolder(itemView.root) { + fun bind(item: PostPreview) { binding.apply { - tvTitle.text=item.location.name - tvLocationParent.text=item.location.country - tvLocationType.text=item.location.type.toString() + tvTitle.text = item.location.name + tvLocationParent.text = item.location.country + tvLocationType.text = item.location.type.toString() + + itemView.isClickable = true + itemView.setOnClickListener { + Toast.makeText(activity,item._id,Toast.LENGTH_LONG).show() + } } } } diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt index 1b7cb09..e9b4c08 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentShowPosts.kt @@ -1,5 +1,6 @@ package com.example.brzodolokacije.Fragments +import android.content.Context import android.content.Intent import android.os.Bundle import androidx.fragment.app.Fragment @@ -33,7 +34,7 @@ class FragmentShowPosts : Fragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) //load data for the list - //loadData() + loadData() //instantiate adapter and linearLayout val postApi= RetrofitHelper.getInstance() val token=SharedPreferencesHelper.getValue("jwt", requireActivity()) @@ -42,8 +43,8 @@ class FragmentShowPosts : Fragment() { request.enqueue(object : retrofit2.Callback<MutableList<PostPreview>?> { override fun onResponse(call: Call<MutableList<PostPreview>?>, response: Response<MutableList<PostPreview>?>) { if(response.isSuccessful){ - posts=response.body()!! - recyclerView?.adapter=ShowPostsAdapter(posts) + //posts=response.body()!! + //recyclerView?.adapter=ShowPostsAdapter(requireActivity(),posts) Toast.makeText( activity, "prosao zahtev", Toast.LENGTH_LONG ).show() @@ -62,7 +63,7 @@ class FragmentShowPosts : Fragment() { } }) - adapterVar=ShowPostsAdapter(posts) + adapterVar=ShowPostsAdapter(requireActivity(),posts) layoutManagerVar= LinearLayoutManager(activity) } |