aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/SampleAdapter.kt29
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHome.kt73
-rw-r--r--Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/ListItemModel.kt6
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home.xml10
-rw-r--r--Client/BrzoDoLokacije/app/src/main/res/layout/list_item.xml24
5 files changed, 104 insertions, 38 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/SampleAdapter.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/SampleAdapter.kt
new file mode 100644
index 0000000..12f019f
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Adapters/SampleAdapter.kt
@@ -0,0 +1,29 @@
+package com.example.brzodolokacije.Adapters
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.recyclerview.widget.RecyclerView
+import com.example.brzodolokacije.Models.ListItemModel
+import com.example.brzodolokacije.databinding.ListItemBinding
+
+class SampleAdapter (val items : MutableList<ListItemModel>)
+ : RecyclerView.Adapter<SampleAdapter.ViewHolder>(){
+ private lateinit var binding: ListItemBinding
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
+ val inflater = LayoutInflater.from(parent.context)
+ binding=ListItemBinding.inflate(inflater,parent,false)
+ return ViewHolder(binding)
+ }
+ override fun onBindViewHolder(holder: ViewHolder, position: Int) {
+ holder.bind(items[position])
+ }
+ override fun getItemCount() = items.size
+ inner class ViewHolder(itemView : ListItemBinding) : RecyclerView.ViewHolder(itemView.root){
+ fun bind(item : ListItemModel){
+ binding.apply {
+ tvId.text=item.id.toString()
+ tvName.text=item.name
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHome.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHome.kt
index 397e1cf..b460fd4 100644
--- a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHome.kt
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Fragments/FragmentHome.kt
@@ -1,16 +1,18 @@
package com.example.brzodolokacije.Fragments
import android.os.Bundle
+import android.util.Log
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.Button
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.example.brzodolokacije.Adapters.SampleAdapter
+import com.example.brzodolokacije.Models.ListItemModel
import com.example.brzodolokacije.R
-
-// TODO: Rename parameter arguments, choose names that match
-// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
-private const val ARG_PARAM1 = "param1"
-private const val ARG_PARAM2 = "param2"
+import com.example.brzodolokacije.databinding.FragmentHomeBinding
/**
* A simple [Fragment] subclass.
@@ -18,43 +20,46 @@ private const val ARG_PARAM2 = "param2"
* create an instance of this fragment.
*/
class FragmentHome : Fragment() {
- // TODO: Rename and change types of parameters
- private var param1: String? = null
- private var param2: String? = null
+
+ private lateinit var binding: FragmentHomeBinding
+ private var nameList : MutableList<ListItemModel> = mutableListOf()
+ private var layoutManagerVar: RecyclerView.LayoutManager? = null
+ private var adapterVar: RecyclerView.Adapter<SampleAdapter.ViewHolder>? = null
+ private var recyclerView:RecyclerView?=null
+
+ override fun onViewCreated(itemView: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(itemView, savedInstanceState)
+ Log.d("Main","blabla")
+
+ }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- arguments?.let {
- param1 = it.getString(ARG_PARAM1)
- param2 = it.getString(ARG_PARAM2)
- }
+ //load data for the list
+ loadData()
+ adapterVar=SampleAdapter(nameList)
+ layoutManagerVar=LinearLayoutManager(activity)
}
+
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
- // Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_home, container, false)
+ val rootView = inflater?.inflate(R.layout.fragment_home, container, false)
+ recyclerView = rootView?.findViewById(R.id.rvMain)
+ // rest of my stuff
+ recyclerView?.setHasFixedSize(true)
+ recyclerView?.layoutManager = layoutManagerVar
+ recyclerView?.adapter = adapterVar
+ return rootView
}
-
- companion object {
- /**
- * Use this factory method to create a new instance of
- * this fragment using the provided parameters.
- *
- * @param param1 Parameter 1.
- * @param param2 Parameter 2.
- * @return A new instance of fragment FragmentHome.
- */
- // TODO: Rename and change types and number of parameters
- @JvmStatic
- fun newInstance(param1: String, param2: String) =
- FragmentHome().apply {
- arguments = Bundle().apply {
- putString(ARG_PARAM1, param1)
- putString(ARG_PARAM2, param2)
- }
- }
+ fun loadData(){
+ nameList.add(ListItemModel(1,"Sample 1"))
+ nameList.add(ListItemModel(2,"Sample 2"))
+ nameList.add(ListItemModel(3,"Sample 3"))
+ nameList.add(ListItemModel(4,"Sample 4"))
+ nameList.add(ListItemModel(5,"Sample 5"))
+ nameList.add(ListItemModel(6,"Sample 6"))
}
-} \ No newline at end of file
+}
diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/ListItemModel.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/ListItemModel.kt
new file mode 100644
index 0000000..48e519e
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Models/ListItemModel.kt
@@ -0,0 +1,6 @@
+package com.example.brzodolokacije.Models
+
+data class ListItemModel (
+ val id:Int ,
+ val name: String
+ ) \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home.xml
index 2395f65..f735bec 100644
--- a/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home.xml
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/fragment_home.xml
@@ -1,14 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Fragments.FragmentHome">
- <!-- TODO: Update blank fragment layout -->
- <TextView
- android:layout_width="match_parent"
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/rvMain"
android:layout_height="match_parent"
- android:text="@string/hello_blank_fragment" />
+ android:layout_width="match_parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="parent"/>
</FrameLayout> \ No newline at end of file
diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/list_item.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/list_item.xml
new file mode 100644
index 0000000..fe53ac5
--- /dev/null
+++ b/Client/BrzoDoLokacije/app/src/main/res/layout/list_item.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="#B3E5FC"
+ android:layout_margin="5dp"
+ android:padding="5dp">
+ <TextView
+ android:id="@+id/tvId"
+ android:text="Id"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+ <TextView
+ android:id="@+id/tvName"
+ android:text="Name"
+ android:layout_marginTop="5dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/tvId" />
+</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file