From 37f735cc805d63128263d417f8150e77b4b6272a Mon Sep 17 00:00:00 2001 From: Jelena Petrovic Date: Sun, 6 Nov 2022 23:44:51 +0100 Subject: omogucen prelaz na klik na stranu objave, prenose se podaci o objavi, ali se ne prikazuju jos #16 --- Client/BrzoDoLokacije/app/build.gradle | 4 ++ .../app/src/main/AndroidManifest.xml | 11 +++++- .../Activities/ActivitySinglePost.kt | 43 ++++++++++++++++------ .../brzodolokacije/Adapters/PostImageAdapter.kt | 7 ++-- .../brzodolokacije/Adapters/ShowPostsAdapter.kt | 15 ++++++-- .../com/example/brzodolokacije/Models/Location.kt | 5 ++- .../java/com/example/brzodolokacije/Models/Post.kt | 11 ++++-- .../com/example/brzodolokacije/Models/PostImage.kt | 6 ++- .../src/main/res/layout/activity_single_post.xml | 22 +++++------ 9 files changed, 87 insertions(+), 37 deletions(-) (limited to 'Client') diff --git a/Client/BrzoDoLokacije/app/build.gradle b/Client/BrzoDoLokacije/app/build.gradle index f6faf0d..fa85692 100644 --- a/Client/BrzoDoLokacije/app/build.gradle +++ b/Client/BrzoDoLokacije/app/build.gradle @@ -1,6 +1,7 @@ plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' + id 'org.jetbrains.kotlin.android.extensions' } android { @@ -34,6 +35,9 @@ android { buildFeatures { viewBinding true } + androidExtensions { + experimental = true + } } dependencies { diff --git a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml index 886666d..0397ee4 100644 --- a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml +++ b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml @@ -20,7 +20,7 @@ android:usesCleartextTraffic="true" tools:targetApi="31"> - + + + + + + diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt index 137277f..be4a73d 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivitySinglePost.kt @@ -1,30 +1,32 @@ package com.example.brzodolokacije.Activities -import android.content.Context -import androidx.appcompat.app.AppCompatActivity import android.os.Bundle -import android.util.AttributeSet -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.recyclerview.widget.LinearLayoutManager +import android.os.Handler +import android.os.Looper +import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.RecyclerView import com.example.brzodolokacije.Adapters.PostImageAdapter +import com.example.brzodolokacije.Models.PostImage +import com.example.brzodolokacije.Models.PostPreview import com.example.brzodolokacije.R import com.example.brzodolokacije.databinding.ActivitySinglePostBinding + class ActivitySinglePost : AppCompatActivity() { private lateinit var binding: ActivitySinglePostBinding - private var images : MutableList = mutableListOf() + private var images : MutableList = mutableListOf() private var layoutManagerVar: RecyclerView.LayoutManager? = null private var adapterVar: RecyclerView.Adapter? = null private var recyclerView: RecyclerView?=null + private lateinit var post:PostPreview override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + binding=ActivitySinglePostBinding.inflate(layoutInflater) setContentView(R.layout.activity_single_post) - //load data for the list - loadData() + post= intent.extras?.getParcelable("selectedPost")!! + /*//load data for the list + //instantiate adapter and linearLayout adapterVar= PostImageAdapter(images) layoutManagerVar= LinearLayoutManager(this) @@ -32,10 +34,27 @@ class ActivitySinglePost : AppCompatActivity() { // set recyclerView attributes recyclerView?.setHasFixedSize(true) recyclerView?.layoutManager = layoutManagerVar - recyclerView?.adapter = adapterVar + recyclerView?.adapter = adapterVar*/ + loadTextComponents() + } + + private fun loadImages(){ + } - private fun loadData() { + private fun loadTextComponents() { + binding.apply { + tvTitle.text= post.location.name + tvTitle.invalidate() + tvLocationType.text=post.location.type.name + tvLocationType.invalidate() + tvLocationParent.text=post.location.country + tvLocationParent.invalidate() + tvRating.text=post.ratings.toString() + tvRating.invalidate() + tvNumberOfRatings.text=post.ratings.toString() + tvNumberOfRatings.invalidate() + } } } \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt index b2eaa30..3d2bf46 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/PostImageAdapter.kt @@ -6,10 +6,11 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.example.brzodolokacije.Models.Post +import com.example.brzodolokacije.Models.PostImage import com.example.brzodolokacije.databinding.PostImageBinding import com.example.brzodolokacije.databinding.PostPreviewBinding -class PostImageAdapter(val items : MutableList) +class PostImageAdapter(val items : MutableList) : RecyclerView.Adapter(){ //constructer has one argument - list of objects that need to be displayed //it is bound to xml of single item @@ -25,9 +26,9 @@ class PostImageAdapter(val items : MutableList) } override fun getItemCount() = items.size inner class ViewHolder(itemView : PostImageBinding) : RecyclerView.ViewHolder(itemView.root){ - fun bind(item : java.io.File){ + fun bind(item : PostImage){ binding.apply { - locationImage.setImageBitmap(BitmapFactory.decodeStream(item.inputStream())) + //locationImage.setImageBitmap(BitmapFactory.decodeStream(item.inputStream())) } } } 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 9da0014..8e6093e 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 @@ -2,10 +2,13 @@ package com.example.brzodolokacije.Adapters import android.app.Activity import android.content.Context +import android.content.Intent +import android.os.Bundle import android.view.LayoutInflater import android.view.ViewGroup import android.widget.Toast import androidx.recyclerview.widget.RecyclerView +import com.example.brzodolokacije.Activities.ActivitySinglePost import com.example.brzodolokacije.Models.PostPreview import com.example.brzodolokacije.databinding.PostPreviewBinding @@ -23,6 +26,14 @@ class ShowPostsAdapter (val activity:Activity,val items : MutableList ) -data class PostPreview( +@Parcelize +data class PostPreview ( var _id:String, var ownerId:String, var location:Location, @@ -32,16 +35,16 @@ data class PostPreview( var ratings:Float, var comments:List, var images:List -) - +):Parcelable +@Parcelize data class Comment ( var userId:String, var comment:String, var parent:Comment, var timeStamp: LocalDateTime -) +):Parcelable data class Rating( var useridval :String, diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt index d024272..93326b3 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/PostImage.kt @@ -1,6 +1,10 @@ package com.example.brzodolokacije.Models +import android.os.Parcelable +import kotlinx.android.parcel.Parcelize + +@Parcelize data class PostImage ( var _id:String, var path:String - ) \ No newline at end of file + ): Parcelable \ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml index 5688acd..d323d0c 100644 --- a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_single_post.xml @@ -23,20 +23,20 @@ android:orientation="vertical"> @@ -51,35 +51,35 @@ android:orientation="horizontal">