Commit 202907bd authored by Alutulu's avatar Alutulu

Merge branch 'displayList'

# Conflicts:
#	app/src/main/java/com/example/elbuenopeso/ui/dashboard/DashboardFragment.kt
parents 7f23187c 8030d4ff
......@@ -2,6 +2,9 @@
<project version="4">
<component name="deploymentTargetDropDown">
<value>
<entry key="Basic">
<State />
</entry>
<entry key="app">
<State />
</entry>
......
package com.example.elbuenopeso
import AdAdapter
import android.os.Bundle
import com.google.android.material.bottomnavigation.BottomNavigationView
import androidx.appcompat.app.AppCompatActivity
......@@ -8,6 +9,7 @@ import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
import com.example.elbuenopeso.databinding.ActivityMainBinding
import com.example.elbuenopeso.models.AdModel
class MainActivity : AppCompatActivity() {
......@@ -32,5 +34,6 @@ class MainActivity : AppCompatActivity() {
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
}
}
\ No newline at end of file
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.ImageView
import android.widget.TextView
import com.example.elbuenopeso.R
import com.example.elbuenopeso.models.AdModel
import com.example.elbuenopeso.ui.dashboard.MarketFragment
class AdAdapter(private val context: Context, private val adModelArrayList: List<AdModel>) : BaseAdapter() {
private val inflater: LayoutInflater = LayoutInflater.from(context)
override fun getCount(): Int = adModelArrayList.size
override fun getItem(i: Int): Any = adModelArrayList[i]
override fun getItemId(i: Int): Long = i.toLong()
override fun getView(i: Int, view: View?, viewGroup: ViewGroup): View {
var convertView = view
val ad = adModelArrayList[i]
convertView = inflater.inflate(R.layout.item_listview_ad, viewGroup, false)
val imageIV: ImageView = convertView.findViewById(R.id.itemListViewImageView)
val titleTV: TextView = convertView.findViewById(R.id.itemListViewTitleView)
val addressTV: TextView = convertView.findViewById(R.id.itemListViewTextView)
imageIV.setImageResource(ad.image)
titleTV.text = ad.title
addressTV.text = ad.address
return convertView
}
}
\ No newline at end of file
package com.example.elbuenopeso.models
public class AdModel(var title: String, var address: String, var image: Int) {
}
\ No newline at end of file
package com.example.elbuenopeso.ui.dashboard
import AdAdapter
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import android.widget.ListView
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import com.example.elbuenopeso.databinding.FragmentDashboardBinding
import com.example.elbuenopeso.databinding.FragmentMarketBinding
import com.example.elbuenopeso.models.AdModel
import com.example.elbuenopeso.R
class DashboardFragment : Fragment() {
class MarketFragment : Fragment() {
private var _binding: FragmentDashboardBinding? = null
private var _binding: FragmentMarketBinding? = null
// This property is only valid between onCreateView and
// onDestroyView.
......@@ -24,24 +25,31 @@ class DashboardFragment : Fragment() {
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val dashboardViewModel =
ViewModelProvider(this).get(DashboardViewModel::class.java)
val marketViewModel =
ViewModelProvider(this)[MarketViewModel::class.java]
_binding = FragmentDashboardBinding.inflate(inflater, container, false)
_binding = FragmentMarketBinding.inflate(inflater, container, false)
val root: View = binding.root
val textView: TextView = binding.textDashboard
dashboardViewModel.text.observe(viewLifecycleOwner) {
val listView: ListView = binding.listView
// seed market items
var annonces: List<AdModel> = listOf<AdModel>(
AdModel("Poutre", "1 rue Jean-Pierre", R.drawable.pichu),
AdModel("Briques", "2 rue Jean-Michel", R.drawable.pichu),
AdModel("Mur en bois", "4 rue Alain-Juju", R.drawable.pichu),
AdModel("Maison de pierre", "7 rue Joris Belhomme", R.drawable.pichu),
AdModel("Téléphone de Timothé", "8 rue de Timothé", R.drawable.pichu),
AdModel("Oridnateur", "10 rue Jean-Charles", R.drawable.pichu),
AdModel("Charnières", "22 rue Jeanne-Marie", R.drawable.pichu),
AdModel("Porte en marbre", "1 rue Jean-Pierre", R.drawable.pichu),
AdModel("Cheminée", "33 rue du Gouvernement", R.drawable.pichu),
)
var adAdapter: AdAdapter = AdAdapter(requireContext(), annonces)
listView.adapter = adAdapter
/*marketViewModel.text.observe(viewLifecycleOwner) {
textView.text = it
}
binding.button6.setOnClickListener {
// TODO
}
}*/
return root
}
......
......@@ -4,7 +4,7 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
class DashboardViewModel : ViewModel() {
class MarketViewModel : ViewModel() {
private val _text = MutableLiveData<String>().apply {
value = "This is dashboard Fragment"
......
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".test">
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -4,18 +4,12 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.dashboard.DashboardFragment">
tools:context=".ui.dashboard.MarketFragment">
<TextView
android:id="@+id/text_dashboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
<ListView
android:id="@+id/listView"
android:layout_width="409dp"
android:layout_height="681dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
......
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/itemListViewTitleView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="TextView"
android:textSize="20sp"
app:layout_constraintStart_toEndOf="@+id/itemListViewImageView"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/itemListViewImageView"
android:layout_width="117dp"
android:layout_height="94dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:srcCompat="@drawable/pichu" />
<TextView
android:id="@+id/itemListViewTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:text="TextView"
app:layout_constraintBottom_toBottomOf="@+id/itemListViewImageView"
app:layout_constraintStart_toEndOf="@+id/itemListViewImageView" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -13,9 +13,9 @@
<fragment
android:id="@+id/navigation_dashboard"
android:name="com.example.elbuenopeso.ui.dashboard.DashboardFragment"
android:name="com.example.elbuenopeso.ui.dashboard.MarketFragment"
android:label="@string/title_dashboard"
tools:layout="@layout/fragment_dashboard" />
tools:layout="@layout/fragment_market" />
<fragment
android:id="@+id/navigation_add"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment