public class PacientesPresenter extends java.lang.Object implements PresenterFunctions, PresenterFunctions.PacientesFunctions
En concreto, se encarga de realizar la "configuracion inicial" del Fragment, que, consiste en actualizar el item del NavigationView al cuarto item del mismo, fijar la orientacion de la pantalla a "Portrait", para evitar que se pueda girar y fijar el Toolbar como SupportActionBar.
Ademas de eso, se encarga de configurar el RecyclerView inicial que se emplea para mostrar el listado de pacientes (obteniendo el RecyclerView.Adapter), de "cargar" el Spinner que muestra el criterio de filtrado de pacientes, y de gestionar cuando el usuario ha pulsado sobre el boton para añadir un nuevo paciente, o para ver el perfil de uno de los que se encuentran almacenados en la Base de Datos.
Por ultimo, se encarga de obtener el RecyclerView.Adapter correspondiente cada vez que se recibe, desde la Vista, el evento onTextChanged sobre el cuadro de busqueda de pacientes.
Esta clase forma parte de la aplicacion TFG-Goniometer, desarrollada para el Trabajo de Fin de Grado - Grado en Ingenieria Informatica (Universidad de Valladolid)
PacientesFragment
,
MainModel
,
Toolbar
,
RecyclerView
,
Spinner
,
NuevoPacienteFragment
,
PacienteListAdapter
,
PerfilPacienteFragment
PresenterFunctions.HomeFunctions, PresenterFunctions.MainFunctions, PresenterFunctions.MedicionFunctions, PresenterFunctions.NuevaMedicionFunctions, PresenterFunctions.NuevoPacienteFunctions, PresenterFunctions.PacientesFunctions, PresenterFunctions.PerfilPacienteFunctions, PresenterFunctions.SobreAppFunctions, PresenterFunctions.UltimasMedicionesFunctions
Constructor and Description |
---|
PacientesPresenter(android.app.Fragment fragment,
MainModel model)
Constructor principal de la clase
|
Modifier and Type | Method and Description |
---|---|
void |
configRecyclerView(android.support.v7.widget.RecyclerView recyclerView,
android.os.Bundle args)
Metodo que se encarga de hacer una configuracion inicial del RecyclerView que muestra
el listado de pacientes almacenados en la Base de Datos.
|
void |
loadSpinner(android.widget.Spinner spinner)
Metodo que se encarga de crear un ArrayAdapter para el Spinner recibido como
parametro y adjunta un recurso de tipo layout que define como se muestra la opcion
seleccionada en el control del mismo.
|
void |
onAñadirPacienteClicked()
Evento ClickListener que se llama cuando el usuario ha pulsado sobre el boton
para añadir un nuevo paciente en el PacientesFragment.
|
void |
onDestroy()
Perform any final cleanup before an activity is destroyed.
|
void |
onLayoutClicked(java.lang.String nombrePaciente,
int idPaciente,
android.os.Bundle args)
Evento ClickListener que se llama cuando el usuario ha pulsado sobre un elemento del
RecyclerView que muestra el listado de pacientes en PacientesFragment.
|
void |
onTextChanged(android.support.v7.widget.RecyclerView recyclerView,
java.lang.String texto,
java.lang.String filtro,
android.os.Bundle args)
Metodo que se encarga de re-asignar el RecyclerView.Adapter al RecyclerView
de PacientesFragment, encargado de mostrar el listado de pacientes que coinciden con
los criterios de busqueda (o todos en caso de no especificar ninguno).
|
void |
setUpInitialSettings(android.support.v7.widget.Toolbar toolbar)
Metodo que realiza las operaciones iniciales cuando se crea el
Fragment PacientesFragment.
|
public PacientesPresenter(android.app.Fragment fragment, MainModel model)
fragment
- Fragmento (Vista) con la que mantiene una relacion 1-a-1.model
- Modelo (unico) de la aplicacion.public void setUpInitialSettings(android.support.v7.widget.Toolbar toolbar)
Se encarga de marcar el cuarto item del NavigationView (correspondiente a PacientesFragment), fijar la orientacion de la pantalla en "Portrait" y de utilizar el Toolbar recibido como SupportActionBar.
En este caso, solo se mostrara el Toolbar en el caso de que el usuario no vaya a almacenar una nueva medicion en el sistema. Esto es asi, para evitar que el usuario vaya a otras partes de la aplicacion, a traves del mismo, sin haber completado la tarea de almacenar la medicion, lo que puede provocar problemas de comportamiento de la aplicacion.
Asi, ademas, se guia al usuario paso a paso, lo que facilita el uso de la aplicacion.
setUpInitialSettings
in interface PresenterFunctions.PacientesFunctions
toolbar
- Toolbar a emplear como SupportActionBarpublic void configRecyclerView(android.support.v7.widget.RecyclerView recyclerView, android.os.Bundle args)
Realiza una operacion para mejorar el rendimiento del mismo, asi como añadirle el LayoutManager y el RecyclerView.Adapter.
configRecyclerView
in interface PresenterFunctions.PacientesFunctions
recyclerView
- RecyclerView a configurarargs
- Bundle con los argumentos para crear el PacienteListAdapterpublic void onAñadirPacienteClicked()
onAñadirPacienteClicked
in interface PresenterFunctions.PacientesFunctions
public void loadSpinner(android.widget.Spinner spinner)
Ademas, especifica el layout que el Adapter usara para mostrar la lista de opciones del Spinner.
Por ultimo, aplica el adaptador al Spinner en cuestion.
loadSpinner
in interface PresenterFunctions.PacientesFunctions
spinner
- Spinner sobre el que se aplicapublic void onTextChanged(android.support.v7.widget.RecyclerView recyclerView, java.lang.String texto, java.lang.String filtro, android.os.Bundle args)
Primero, obtiene, a partir del Modelo, el listado de pacientes filtrado, segun el criterio seleccionado por el usuario en el Spinner, y la informacion introducida por el mismo en el EditText.
Una vez que se tiene el listado de pacientes ya filtrado, se crea el nuevo RecyclerView.Adapter y se asigna al RecyclerView recibido como parametro.
onTextChanged
in interface PresenterFunctions.PacientesFunctions
recyclerView
- RecyclerView sobre el que se aplica este metodotexto
- Informacion introducida por el usuario en el cuadro de busqueda del
EditText de PacientesFragmentfiltro
- Filtro seleccionado por el usuario en el Spinner de
PacientesFragmentargs
- Bundle con los argumentos para crear el PacienteListAdapterpublic void onLayoutClicked(java.lang.String nombrePaciente, int idPaciente, android.os.Bundle args)
onLayoutClicked
in interface PresenterFunctions.PacientesFunctions
nombrePaciente
- Nombre del paciente sobre el que el usuario ha pulsadoidPaciente
- ID del paciente sobre el que el usuario ha pulsadoargs
- Bundle con los argumentos para crear el PerfilPacienteFragmentpublic void onDestroy()
onDestroy
in interface PresenterFunctions