Cómo crear y guardar vistas mediante programación en Android Studio

Cómo crear la nueva vista para cada nueva alarma

No estoy familiarizado con esta aplicación, pero parece que usa un ListView , y cada nueva alarma agrega una nueva fila a la lista. ListView tendrá un Adapter , que contendrá una Collection de elementos utilizados para completar la interfaz de usuario (probablemente una List de clases “modelo” que contienen información relacionada con cada fila, es decir, hora de alarma, etiqueta, días de alarma debe ejecutarse, etc.) . Agregar un nuevo elemento a la Collection y llamar a notifyDataSetChanged() en el Adapter agregará una nueva fila a la lista.

como guardarlo

En lugar de guardar las Vistas, guarda los datos que pueblan las Vistas. En este caso, iría con una base de datos SQLiteDatabase , ya que puede crear una tabla que contenga filas que se correlacionen con los elementos de su fila de la lista. Por lo tanto, la primera columna podría llamarse alarm_time que contiene un INTEGER que es la hora de la alarma en milisegundos que puede convertir a horas y minutos cuando se consulta la base de datos. La siguiente columna podría llamarse label y mantener TEXT que contiene la etiqueta de la alarma, y ​​así sucesivamente.

Crear una nueva instancia de vista

Agregue los LayoutParams como lo hace en XML (obligatorio)

Agregue la vista a la vista principal para mostrarla.

TextView final textView = new TextView (este);
textView.setText (texto);
textView.setLayoutParams (nuevo LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
mParentLayout.addView (textView);

También puede inflar una vista compleja directamente desde XML:

LayoutInflater inflater = (LayoutInflater) getApplicationContext (). GetSystemService (Context.LAYOUT_INFLATER_SERVICE); // inflater … cree la instancia una vez, reutilícela para todas las vistas siguientes

View view = inflater.inflate (R.layout.some_view_layout, null);
mParentLayout.addView (ver);

El siguiente paso es agregar una ID de vista o (mejor) establecer un TAG significativo, para que luego pueda iterar todas las vistas en padre y eliminar / cambiar cualquiera de ellas a pedido.