type studio linearlayout examples ejemplos dinamico caracteristicas absoluto android android-layout event-driven-design

studio - type of layout android



mejores prácticas para manejar eventos de IU (4)

Cosas que hago:

  1. Mantenga todas las funciones onClick en el XML. Evita mucho desorden en el código de Java.
  2. Inicialice los oyentes de eventos como miembros de la clase de actividad en lugar de mantenerlos en una función. No me gustan muchas llaves en mi código. Me confunde.
  3. Si mis adaptadores de lista se vuelven demasiado grandes, los mantengo en una clase separada en lugar de como miembro de la clase de actividad y luego mantengo todos los oyentes de vista allí en el adaptador.
  4. Para evitar crear demasiadas funciones onClick, a veces mantengo una función como onNavigatonClick y luego uso view.getId () para ver en qué botón se hizo clic. Como XML no se comprueba para llamadas de función válidas, conduce a errores de tiempo de ejecución si su nombre de función es incorrecto.
  5. Si una vista en particular necesita mucho código de interacción de UI, creo una vista personalizada con un GestureDetector para manejar las interacciones de UI.

Supongo que esto es bastante básico ya que aún no tengo mucha experiencia con Java.

He puesto todo el código de enlace para eventos de IU en OnCreate (). Ha hecho que mi OnCreate () sea enorme.

¿Hay algún patrón para implementar eventos de IU en Android? ¿Puedo agregar métodos en el archivo Ver XML y luego puedo poner todo el código del controlador en otro lugar?

En pocas palabras, creo que estoy preguntando cómo puedo implementar el patrón MVVM con el código de la aplicación Android.


En 1.6 y posteriores puede especificar métodos onClick en su archivo XML de diseño para recortar un poco de la grasa. Generalmente lo oculto en un método initUi () que tengo mi llamada al método onCreate. De esta forma, al menos, onCreate es más fácil de leer.


Muchas buenas respuestas a esto ya. :)

Si está utilizando Android 1.6 o posterior, es posible que la nueva API de fragmentos le resulte útil para organizar y dividir sus actividades en varias unidades lógicas.


onCreate suele ser el mejor lugar para llamar a setContentView y configurar oyentes, pero el código para manejar las interacciones del usuario normalmente va en las rutinas OnClick, onTouch, onKey, etc.

Tal vez si publicaste tu código pudiéramos ver lo que has hecho?