Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.francisco.exampleapp
- import android.content.Context
- import android.support.v7.app.AppCompatActivity
- import android.os.Bundle
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import android.widget.AdapterView
- import android.widget.ArrayAdapter
- import android.widget.BaseAdapter
- import android.widget.TextView
- import kotlinx.android.synthetic.main.activity_selector.*
- import java.util.*
- import java.text.SimpleDateFormat;
- class Selector : AppCompatActivity() {
- val opciones = arrayOf("Opcion 1", "Opcion 2", "Opcion 3")
- var opcionSelecionada = ""
- val ultimos_cambios = arrayListOf<registro>()
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_selector)
- spinnerCambios.adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, opciones)
- spinnerCambios.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
- override fun onNothingSelected(parent: AdapterView<*>?) {
- textCambio.text = "No hay nada seleccionado"
- }
- override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
- opcionSelecionada = opciones[position]
- }
- }
- // Lógica de la listview
- listViewCambios.adapter = myAdapter(this, ultimos_cambios)
- // Lógica del botón
- botonRegistro.setOnClickListener(View.OnClickListener {
- if (!opcionSelecionada.equals("")){
- val current_date = Date()
- val dateFormat = SimpleDateFormat("HH:mm:ss yyyy/MM/dd")
- if (ultimos_cambios.size <5)
- ultimos_cambios.add(0, registro(opcionSelecionada, dateFormat.format(current_date) ))
- else{
- ultimos_cambios.removeAt(4)
- ultimos_cambios.add(0, registro(opcionSelecionada, dateFormat.format(current_date) ))
- }
- }
- //TODO: Ver si realmente es una buena manera hacerlo así :v
- listViewCambios.invalidateViews()
- })
- }
- private class myAdapter(context: Context, cambios: ArrayList<registro>): BaseAdapter(){
- private val mContext: Context
- private val mRegistros: ArrayList<registro>
- init {
- mContext = context
- mRegistros = cambios
- }
- override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
- val layoutInflader = LayoutInflater.from(mContext)
- val row = layoutInflader.inflate(R.layout.row_selector, parent, false)
- val horaTextView = row.findViewById<TextView>(R.id.hora_textview)
- val tipoTextView = row.findViewById<TextView>(R.id.tipo_textview)
- horaTextView.text = mRegistros[position].hora
- tipoTextView.text = mRegistros[position].tipo
- return row
- }
- override fun getItem(position: Int): Any {
- return "TEST STRING"
- }
- override fun getItemId(position: Int): Long {
- return position.toLong()
- }
- override fun getCount(): Int {
- return mRegistros.size
- }
- }
- class registro(a: String, b: String ){
- val tipo : String
- val hora : String
- init{
- tipo = a
- hora = b
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement