Conexion pantallas (Principal -> Sala -> Compra)
This commit is contained in:
parent
b3912997ac
commit
395e5e65dd
|
@ -47,6 +47,8 @@ dependencies {
|
|||
implementation("com.google.android.material:material:1.11.0")
|
||||
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
|
||||
implementation("com.google.firebase:firebase-database:20.3.1")
|
||||
implementation ("com.github.bumptech.glide:glide:4.12.0")
|
||||
annotationProcessor ("com.github.bumptech.glide:compiler:4.12.0")
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
androidTestImplementation("androidx.test.ext:junit:1.1.5")
|
||||
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
android:name=".ChairList"
|
||||
android:screenOrientation="portrait"
|
||||
android:exported="false" />
|
||||
<activity android:name=".PantallaCompra"
|
||||
<activity android:name=".compra"
|
||||
android:screenOrientation="portrait"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.example.pantallacompra
|
||||
|
||||
import android.graphics.Color
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
@ -9,6 +10,16 @@ import androidx.recyclerview.widget.RecyclerView
|
|||
class ChairAdapter (private val item : ArrayList<Asiento>): RecyclerView.Adapter<ChairAdapter.ViewHolder>() {
|
||||
|
||||
private lateinit var mListener : onItemClickListener
|
||||
private val selectedItems = ArrayList<Int>()
|
||||
|
||||
fun toggleSelection(position: Int) {
|
||||
if (selectedItems.contains(position)) {
|
||||
selectedItems.remove(position)
|
||||
} else {
|
||||
selectedItems.add(position)
|
||||
}
|
||||
notifyItemChanged(position)
|
||||
}
|
||||
|
||||
interface onItemClickListener{
|
||||
fun onItemClick(position: Int)
|
||||
|
@ -22,7 +33,10 @@ class ChairAdapter (private val item : ArrayList<Asiento>): RecyclerView.Adapter
|
|||
val chair : TextView = itemView.findViewById(R.id.chair)
|
||||
init {
|
||||
itemView.setOnClickListener{
|
||||
listener.onItemClick(adapterPosition)
|
||||
val position=adapterPosition
|
||||
if(position!=RecyclerView.NO_POSITION){
|
||||
(itemView.context as? ChairAdapter) ?.toggleSelection((position))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -36,6 +50,19 @@ class ChairAdapter (private val item : ArrayList<Asiento>): RecyclerView.Adapter
|
|||
}
|
||||
|
||||
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
||||
//holder.chair.text=item[position].noAsiento.toString()
|
||||
// val chair = item[position]
|
||||
holder.chair.text = item[position].noAsiento.toString()
|
||||
|
||||
if (selectedItems.contains(position)) {
|
||||
holder.itemView.setBackgroundColor(Color.RED)
|
||||
} else {
|
||||
holder.itemView.setBackgroundColor(Color.parseColor("#225c6e"))
|
||||
}
|
||||
|
||||
holder.itemView.setOnClickListener {
|
||||
toggleSelection(position)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,11 +1,13 @@
|
|||
package com.example.pantallacompra
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import android.widget.Button
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.firebase.database.DataSnapshot
|
||||
import com.google.firebase.database.DatabaseError
|
||||
|
@ -17,6 +19,7 @@ class ChairList : AppCompatActivity() {
|
|||
private lateinit var dbreference : DatabaseReference
|
||||
private lateinit var recycleView: RecyclerView
|
||||
private lateinit var eventList : ArrayList<Asiento>
|
||||
private lateinit var seleccionados : ArrayList<String>
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
|
||||
|
@ -34,13 +37,26 @@ class ChairList : AppCompatActivity() {
|
|||
val nSala:TextView=findViewById(R.id.noSalaText)
|
||||
nSala.text=noSala
|
||||
|
||||
val btnConfirmar:Button = findViewById(R.id.btnConfirmar)
|
||||
val btnCancelar:Button = findViewById(R.id.btncancelar)
|
||||
|
||||
recycleView = findViewById(R.id.chairRecycleView)
|
||||
recycleView.layoutManager = GridLayoutManager(this,2)
|
||||
recycleView.layoutManager = GridLayoutManager(this,4)
|
||||
recycleView.setHasFixedSize(true)
|
||||
|
||||
eventList = arrayListOf<Asiento>()
|
||||
getEvents()
|
||||
|
||||
btnConfirmar.setOnClickListener(View.OnClickListener() {
|
||||
val intent = Intent(this, compra::class.java)
|
||||
startActivity(intent)
|
||||
})
|
||||
|
||||
btnCancelar.setOnClickListener(View.OnClickListener() {
|
||||
val intent = Intent(this, EventList::class.java)
|
||||
startActivity(intent)
|
||||
})
|
||||
|
||||
}
|
||||
private fun getEvents(){
|
||||
dbreference= FirebaseDatabase.getInstance().getReference("Asientos")
|
||||
|
@ -54,9 +70,10 @@ class ChairList : AppCompatActivity() {
|
|||
}
|
||||
var adapter=ChairAdapter(eventList)
|
||||
recycleView.adapter=adapter
|
||||
|
||||
adapter.setOnItemClickListener(object : ChairAdapter.onItemClickListener{
|
||||
override fun onItemClick(position: Int) {
|
||||
//Toast.makeText(this@ChairList,"Has hecho click", Toast.LENGTH_LONG).show()
|
||||
adapter.toggleSelection(position)
|
||||
}
|
||||
|
||||
})
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package com.example.pantallacompra
|
||||
|
||||
data class Event(val nombre : String ?=null, val genero : String ?=null, val duracion : Int ?=null, val tipo : String ?=null){
|
||||
data class Event(val nombre : String ?=null, val genero : String ?=null, val duracion : Int ?=null, val tipo : String ?=null, val urlImage : String ?=null){
|
||||
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ class EventList : AppCompatActivity() {
|
|||
eventList.add(item!!)
|
||||
}
|
||||
//recycleView.adapter=MyAdapter(eventList)
|
||||
var adapter=MyAdapter(eventList)
|
||||
var adapter=MyAdapter(eventList, this@EventList)
|
||||
recycleView.adapter=adapter
|
||||
adapter.setOnItemClickListener(object : MyAdapter.onItemClickListener{
|
||||
override fun onItemClick(position: Int) {
|
||||
|
|
|
@ -23,6 +23,7 @@ class MainActivity : AppCompatActivity() {
|
|||
asientosReference= FirebaseDatabase.getInstance().getReference("Asientos")
|
||||
|
||||
setContentView(R.layout.activity_main)
|
||||
cargarAsientos(asientosReference)
|
||||
|
||||
val boton = findViewById<Button>(R.id.nextBtn)
|
||||
|
||||
|
@ -70,9 +71,15 @@ class MainActivity : AppCompatActivity() {
|
|||
val asientoA1=Asiento("A1",10,"Chafa","Libre",1)
|
||||
val asientoA2=Asiento("A2",10,"Chafa","Libre",1)
|
||||
val asientoA3=Asiento("A3",10,"Chafa","Libre",1)
|
||||
val asientoB1=Asiento("B1",10,"Regular","Libre",1)
|
||||
val asientoB2=Asiento("B2",10,"Regular","Libre",1)
|
||||
val asientoB3=Asiento("B3",10,"Regular","Libre",1)
|
||||
|
||||
database.child(asientoA1.noAsiento.toString()).setValue(asientoA1)
|
||||
database.child(asientoA2.noAsiento.toString()).setValue(asientoA2)
|
||||
database.child(asientoA3.noAsiento.toString()).setValue(asientoA3)
|
||||
database.child(asientoB1.noAsiento.toString()).setValue(asientoB1)
|
||||
database.child(asientoB2.noAsiento.toString()).setValue(asientoB2)
|
||||
database.child(asientoB3.noAsiento.toString()).setValue(asientoB3)
|
||||
}
|
||||
}
|
|
@ -3,13 +3,16 @@ package com.example.pantallacompra
|
|||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.bumptech.glide.Glide
|
||||
|
||||
class MyAdapter (private val eventList : ArrayList<Event>) : RecyclerView.Adapter<MyAdapter.MyViewHolder>(){
|
||||
class MyAdapter (private val eventList : ArrayList<Event>, private val context: android.content.Context ) : RecyclerView.Adapter<MyAdapter.MyViewHolder>(){
|
||||
|
||||
private lateinit var mListener : onItemClickListener
|
||||
|
||||
|
||||
interface onItemClickListener{
|
||||
fun onItemClick(position: Int)
|
||||
}
|
||||
|
@ -29,16 +32,19 @@ class MyAdapter (private val eventList : ArrayList<Event>) : RecyclerView.Adapte
|
|||
|
||||
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
|
||||
val list= eventList[position]
|
||||
val imageUrl=eventList[position].urlImage
|
||||
holder.nombre.text="Evento:" +list.nombre
|
||||
holder.tipo.text="Tipo: "+list.tipo
|
||||
holder.duracion.text="Duración: "+list.duracion.toString()+" min"
|
||||
|
||||
Glide.with(context).load(imageUrl).into(holder.imagen)
|
||||
}
|
||||
|
||||
class MyViewHolder(itemView : View, listener: onItemClickListener): RecyclerView.ViewHolder(itemView){
|
||||
val nombre : TextView = itemView.findViewById(R.id.eventName)
|
||||
val tipo: TextView = itemView.findViewById(R.id.eventType)
|
||||
val duracion: TextView =itemView.findViewById(R.id.eventDuration)
|
||||
val imagen: ImageView =itemView.findViewById(R.id.imageEvent)
|
||||
|
||||
init {
|
||||
itemView.setOnClickListener{
|
||||
listener.onItemClick(adapterPosition)
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
package com.example.pantallacompra
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
|
||||
class compra: AppCompatActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.pantallacompra)
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#f0f0f0"></solid>
|
||||
<solid android:backgroundTint="#D9D9D9"></solid>
|
||||
<corners android:radius="20dp"></corners>
|
||||
<stroke android:color="#02161c" android:width="2dp"></stroke>
|
||||
<stroke android:color="#D9D9D9" android:width="2dp"></stroke>
|
||||
</shape>
|
|
@ -3,6 +3,7 @@
|
|||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:background="#2B7F88"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".MainActivity">
|
||||
|
||||
|
@ -32,11 +33,11 @@
|
|||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/chairRecycleView"
|
||||
android:layout_width="401dp"
|
||||
android:layout_height="582dp"
|
||||
android:layout_width="374dp"
|
||||
android:layout_height="499dp"
|
||||
android:layout_marginTop="60dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintHorizontal_bias="0.567"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/eventTextTitle" />
|
||||
|
||||
|
@ -66,4 +67,42 @@
|
|||
app:layout_constraintStart_toEndOf="@+id/noSalaText"
|
||||
app:layout_constraintTop_toBottomOf="@+id/eventTextTitle" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="409dp"
|
||||
android:layout_height="81dp"
|
||||
android:layout_marginTop="502dp"
|
||||
android:layout_marginEnd="2dp"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/chairRecycleView">
|
||||
|
||||
<Button
|
||||
android:id="@+id/btncancelar"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:backgroundTint="#D9D9D9"
|
||||
android:text="Cancelar"
|
||||
android:fontFamily="@font/cinepolis"
|
||||
android:textColor="#000000"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:textSize="18dp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnConfirmar"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginRight="4dp"
|
||||
android:layout_weight="1"
|
||||
android:backgroundTint="#D9D9D9"
|
||||
android:fontFamily="@font/cinepolis"
|
||||
android:text="Confirmar"
|
||||
android:textColor="#000000"
|
||||
android:textSize="18dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -2,6 +2,7 @@
|
|||
<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:background="#2B7F88"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".EventList">
|
||||
|
@ -23,8 +24,8 @@
|
|||
|
||||
<ImageView
|
||||
android:id="@+id/logoCamion"
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="86dp"
|
||||
android:layout_width="102dp"
|
||||
android:layout_height="85dp"
|
||||
android:background="#08404F"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
|
@ -50,6 +51,7 @@
|
|||
android:background="#297880"
|
||||
android:fontFamily="@font/cinepolis"
|
||||
android:text="Eventos"
|
||||
android:gravity="center"
|
||||
android:textAlignment="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="30sp"
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/chair"
|
||||
android:textColor="#FFFFFF"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
/>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<!-- Primer ConstraintLayout -->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/top_layout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#08404F"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
@ -25,9 +25,11 @@
|
|||
android:id="@+id/textView2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="PLAYPAL"
|
||||
android:fontFamily="@font/cinepolis"
|
||||
android:gravity="center"
|
||||
android:text="Playpal"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="20sp"
|
||||
android:textSize="50sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
|
@ -37,9 +39,8 @@
|
|||
|
||||
<ImageView
|
||||
android:id="@+id/imageView2"
|
||||
android:layout_width="29dp"
|
||||
android:layout_height="27dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="86dp"
|
||||
android:layout_marginTop="3dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
@ -50,13 +51,18 @@
|
|||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<!-- Segundo ConstraintLayout -->
|
||||
|
||||
<!-- Tercer ConstraintLayout -->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/second_layout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="#08404F"
|
||||
android:background="#297880"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/third_layout"
|
||||
app:layout_constraintEnd_toEndOf="@+id/top_layout"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="@+id/top_layout"
|
||||
app:layout_constraintTop_toBottomOf="@+id/top_layout">
|
||||
|
||||
|
@ -69,16 +75,16 @@
|
|||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.0" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<!-- Tercer ConstraintLayout -->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/third_layout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="#08404F"
|
||||
android:background="#297880"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@+id/top_layout"
|
||||
app:layout_constraintHorizontal_bias="1.0"
|
||||
|
@ -91,7 +97,9 @@
|
|||
android:id="@+id/textView3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:gravity="center"
|
||||
android:text="DETALLES DE LA VENTA"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="16sp"
|
||||
|
@ -205,8 +213,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:background="#d9d9d9"
|
||||
android:backgroundTint="#0D9D9D"
|
||||
android:backgroundTint="#D9D9D9"
|
||||
android:text="Comprar"
|
||||
android:textColor="#000000"
|
||||
android:textSize="10sp"
|
||||
|
@ -220,7 +227,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="#d9d9d9"
|
||||
android:backgroundTint="#D9D9D9"
|
||||
android:text="Cancelar"
|
||||
android:textColor="#000000"
|
||||
android:textSize="10sp"
|
||||
|
|
Loading…
Reference in New Issue