package com.focasoftware.deboinventario; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.ImageView; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView; import androidx.annotation.NonNull; import java.util.ArrayList; /** * Dialogo que hereda de la clase Dialog y se usa para permitir * al usuario elegir el medio de actualizaci�n de los datos, sea este * por WIFI o USB. * @author GuillermoR * */ public class DialogPersoComplexActualizacionWifiUsb extends Dialog { @SuppressWarnings("unused") private Activity owner; /** * Constructor con toda la informacion a mostrar en el dialogo, arma la UI para * dejarla lista para ser mostrada *

1� Construcci�n del t�tulo *

2� Cargamos el layout y main layout *

3� Construcci�n de la imagen *

4� Mensaje *

5� Construir opciones *

6� Botones * * @param context * @param lista * @param titulo * @param mensaje * @param categoria_alerta * @param lista_opciones * @param listenerPositivoWifi * @param listenerPositivoUsb * @param listenerPositivoFlash * @param listenerPositivoSdcard * @param listenerNegativo */ public DialogPersoComplexActualizacionWifiUsb ( @NonNull Context context, @NonNull final ArrayList lista, @NonNull String titulo, String mensaje, int categoria_alerta, @NonNull ArrayList lista_opciones, View.OnClickListener listenerPositivoWifi, View.OnClickListener listenerPositivoUsb, View.OnClickListener listenerPositivoFlash, View.OnClickListener listenerPositivoSdcard, View.OnClickListener listenerNegativo) { super(context); final Activity owner = (Activity) context; //1� Construcci�n del t�tulo: if (titulo.length() > 0) { super.setTitle(titulo); } //2� Cargamos el layout y main layout: super.setContentView(R.layout.z_dialogpersocomplexactualizacion_wifiusb); //3� Construcci�n de la imagen: ImageView imagen = (ImageView) super.findViewById(R.id.DIALOG_imagen); switch (categoria_alerta) { case DialogPerso.DEFAULT: imagen.setImageDrawable(owner.getResources().getDrawable(R.drawable.dialog_alertar)); break; case DialogPerso.VALIDAR: imagen.setImageDrawable(owner.getResources().getDrawable(R.drawable.dialog_validar)); break; case DialogPerso.ALERTAR: imagen.setImageDrawable(owner.getResources().getDrawable(R.drawable.dialog_alertar)); break; case DialogPerso.PROHIBIR: imagen.setImageDrawable(owner.getResources().getDrawable(R.drawable.dialog_prohibir)); break; default: imagen.setImageDrawable(owner.getResources().getDrawable(R.drawable.dialog_alertar)); break; } //4� Mensaje: TextView texto = (TextView) super.findViewById(R.id.DIALOG_texto); texto.setText(mensaje); //5� Construir opciones: TableLayout tabla_opciones = (TableLayout) super.findViewById(R.id.DIALOG_zona_box); lista.clear(); for (int i = 0 ; i < lista_opciones.size() ; i++) { final String tablaBDD = lista_opciones.get(i); TableRow tblRow = new TableRow(context); CheckBox chkBox = new CheckBox(context); chkBox.setId(i); chkBox.setText(tablaBDD); chkBox.setTextSize(16); chkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { lista.add(tablaBDD); } else { lista.remove((String) tablaBDD); } } }); tblRow.addView(chkBox); tabla_opciones.addView(tblRow); } //6� Botones: Button boton_validar_usb = (Button) super.findViewById(R.id.DIALOG_boton_validar_usb); Button boton_validar_wifi = (Button) super.findViewById(R.id.DIALOG_boton_validar_wifi); Button boton_validar_flash = (Button) super.findViewById(R.id.DIALOG_boton_flash); Button boton_validar_sdcard = (Button) super.findViewById(R.id.DIALOG_boton_sdcard); Button boton_cancelar = (Button) super.findViewById(R.id.DIALOG_boton_cancelar); boton_validar_usb.setOnClickListener(listenerPositivoUsb); boton_validar_flash.setOnClickListener(listenerPositivoFlash); boton_validar_sdcard.setOnClickListener(listenerPositivoSdcard); boton_validar_wifi.setOnClickListener(listenerPositivoWifi); boton_cancelar.setOnClickListener(listenerNegativo); } }