diff options
author | Jelena Petrovic <jelenapetrovic.7119@gmail.com> | 2022-11-06 23:44:51 +0100 |
---|---|---|
committer | Jelena Petrovic <jelenapetrovic.7119@gmail.com> | 2022-11-06 23:44:51 +0100 |
commit | 37f735cc805d63128263d417f8150e77b4b6272a (patch) | |
tree | 16fea12094b5c23b2cbd4b9b09a55270ded1d5e3 /Client | |
parent | 40066cc6ec4039517766906e8e31e98c298244e1 (diff) |
omogucen prelaz na klik na stranu objave, prenose se podaci o objavi, ali se ne prikazuju jos #16
Diffstat (limited to 'Client')
9 files changed, 87 insertions, 37 deletions
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"> <activity - android:name=".ActivitySinglePost" + android:name=".Activities.ActivitySinglePost" android:exported="false"> <meta-data android:name="android.app.lib_name" @@ -49,7 +49,14 @@ <activity android:name=".Activities.ActivityForgottenPasswordVerify" /> <activity android:name=".Activities.ActivityForgottenPassword" /> <activity android:name=".Activities.ActivityLoginRegister" /> - <activity android:name=".Activities.NavigationActivity" /> + <activity + android:name=".Activities.NavigationActivity" + android:exported="true"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> <activity android:name=".MainActivity" android:exported="false"> 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<java.io.File> = mutableListOf() + private var images : MutableList<PostImage> = mutableListOf() private var layoutManagerVar: RecyclerView.LayoutManager? = null private var adapterVar: RecyclerView.Adapter<PostImageAdapter.ViewHolder>? = 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<java.io.File>) +class PostImageAdapter(val items : MutableList<PostImage>) : RecyclerView.Adapter<PostImageAdapter.ViewHolder>(){ //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<java.io.File>) } 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<PostPrevie override fun onBindViewHolder(holder: ViewHolder, position: Int) { //sets components of particular item holder.bind(items[position]) + holder.itemView.setOnClickListener { + //Toast.makeText(activity,item._id,Toast.LENGTH_LONG).show() + val intent:Intent = Intent(activity,ActivitySinglePost::class.java) + var b=Bundle() + b.putParcelable("selectedPost", items[position]) + intent.putExtras(b) + activity.startActivity(intent) + } } @@ -35,9 +46,7 @@ class ShowPostsAdapter (val activity:Activity,val items : MutableList<PostPrevie 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/Models/Location.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Location.kt index 25125cd..04bf3a1 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Location.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Location.kt @@ -1,7 +1,10 @@ package com.example.brzodolokacije.Models +import android.os.Parcelable import com.example.brzodolokacije.Models.LocationType +import kotlinx.android.parcel.Parcelize +@Parcelize data class Location ( var _id:String, var name:String, @@ -11,4 +14,4 @@ data class Location ( var latitude:Double, var longitude:Double, var type:LocationType - ) + ): Parcelable diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt index 2ac2619..f667fac 100644 --- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/Post.kt @@ -1,5 +1,7 @@ package com.example.brzodolokacije.Models +import android.os.Parcelable +import kotlinx.android.parcel.Parcelize import okhttp3.MultipartBody import java.time.LocalDateTime @@ -23,7 +25,8 @@ data class PostSend( var images: List<MultipartBody.Part> ) -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<Comment>, var images:List<PostImage> -) - +):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"> <TextView - android:id="@+id/textView6" + android:id="@+id/tvTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Naslov" /> <TextView - android:id="@+id/textView7" + android:id="@+id/tvLocationType" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="11dp" android:text="tip lokacije" /> <TextView - android:id="@+id/textView8" + android:id="@+id/tvLocationParent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Drzava, grad" /> @@ -51,35 +51,35 @@ android:orientation="horizontal"> <ImageView - android:id="@+id/imageView8" + android:id="@+id/star1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:src="@android:drawable/btn_star_big_on" /> <ImageView - android:id="@+id/imageView9" + android:id="@+id/star2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:src="@android:drawable/btn_star_big_on" /> <ImageView - android:id="@+id/imageView10" + android:id="@+id/star3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:src="@android:drawable/btn_star_big_on" /> <ImageView - android:id="@+id/imageView11" + android:id="@+id/star4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:src="@android:drawable/btn_star_big_on" /> <ImageView - android:id="@+id/imageView12" + android:id="@+id/star5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" @@ -87,7 +87,7 @@ </LinearLayout> <TextView - android:id="@+id/textView9" + android:id="@+id/tvRating" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="8dp" @@ -96,7 +96,7 @@ tools:layout_editor_absoluteY="0dp" /> <TextView - android:id="@+id/textView10" + android:id="@+id/tvNumberOfRatings" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="(10,500)" @@ -113,7 +113,7 @@ android:elevation="5dp"> <TextView - android:id="@+id/textView11" + android:id="@+id/tvDescription" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView" |