@Override
 public void afterTextChanged(Editable s) {
   if (s.length() > 0) {
     int cantidad = Integer.parseInt(etCantidad.getText().toString().trim());
     Producto prod = (Producto) tvNombreProd.getTag();
     etCosto.setText(String.valueOf(prod.getPrecio() * cantidad));
   } else {
     etCosto.getText().clear();
   }
 }
 @Override
 public void afterTextChanged(Editable s) {
   if (s.length() > 0) {
     Producto prod = (Producto) tvNombreProd.getTag();
     String txtCantidad = etCantidad.getText().toString().trim();
     if (!txtCantidad.equals("")) {
       int cantidad = Integer.parseInt(etCantidad.getText().toString().trim());
       double costo_entrega = Double.valueOf(etCostoEntrega.getText().toString().trim());
       double costo = (prod.getPrecio() * cantidad) + costo_entrega;
       etCosto.setText(String.valueOf(costo));
     } else {
       etCantidad.requestFocus();
       etCantidad.setError("Introduzca cantidad de cubos");
       etCostoEntrega.getText().clear();
     }
   } else {
     etCosto.getText().clear();
   }
 }
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    View view = convertView;
    final ViewHolder holder;
    if (convertView == null) {
      view = activity.getLayoutInflater().inflate(R.layout.modelo_item_detalle_pedido, null);
      holder = new ViewHolder();
      holder.ivImageProd = (ImageView) view.findViewById(R.id.ivImageProdLDetallePedido);
      holder.tvNombreProd = (TextView) view.findViewById(R.id.tvNombreProdLDetallePedido);
      holder.tvPrecio = (TextView) view.findViewById(R.id.tvPrecioProdLDetallePedido);
      holder.tvCant = (TextView) view.findViewById(R.id.tvCantLDetallePedido);
      holder.tvCostoEntrega = (TextView) view.findViewById(R.id.tvCostoEntregaLDetallePedido);
      holder.tvCosto = (TextView) view.findViewById(R.id.tvCostoLDetallePedido);
      view.setTag(holder);
    } else {
      holder = (ViewHolder) view.getTag();
    }

    final DetallePedido detalleP = this.getItem(position);
    Producto prod = getProducto(detalleP.getIdproducto());
    if (!prod.getImagen().equals(Variables.SIN_ESPECIFICAR)) {
      String pathImagen =
          new StringBuilder(Variables.FOLDER_IMAGES_COOPERATIVA)
              .append(prod.getImagen())
              .toString();
      imageLoader = ImageLoader.getInstance();
      imageLoader.displayImage(
          "file://" + pathImagen,
          holder.ivImageProd,
          new SimpleImageLoadingListener() {

            @Override
            public void onLoadingStarted(String imageUri, View view) {
              super.onLoadingStarted(imageUri, view);
              holder.ivImageProd.setImageResource(R.drawable.ic_product_plant_128);
            }

            @Override
            public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
              super.onLoadingComplete(imageUri, view, loadedImage);
              holder.ivImageProd.setImageBitmap(loadedImage);
              holder.ivImageProd.setScaleType(ImageView.ScaleType.CENTER_CROP);
              holder.ivImageProd.setPadding(0, 0, 0, 0);
            }

            @Override
            public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
              super.onLoadingFailed(imageUri, view, failReason);
              holder.ivImageProd.setImageResource(R.drawable.ic_product_plant_128);
            }
          });
    } else {
      holder.ivImageProd.setImageResource(R.drawable.ic_product_plant_128);
    }
    holder.tvNombreProd.setText(prod.getNombre_prod());
    holder.tvPrecio.setText(prod.getPrecio() + " Bs.");
    holder.tvCant.setText(String.valueOf(detalleP.getCantidad()));
    holder.tvCostoEntrega.setText(detalleP.getCosto_entrega() + " Bs.");
    holder.tvCosto.setText(new StringBuilder().append(detalleP.getCosto()).append(" Bs."));

    ibtnMas = (ImageButton) view.findViewById(R.id.ibtnMasDetallePedido);
    ibtnMas.setVisibility(View.VISIBLE);
    ibtnMas.setOnClickListener(
        new OnClickListener() {
          @Override
          public void onClick(View view) {
            abrirPopupMenu(detalleP);
          }
        });
    return view;
  }
  public void abrirEditarDetalleVenta() {
    // inflater =
    // (LayoutInflater)activity.getBaseContext().getSystemService(activity.LAYOUT_INFLATER_SERVICE);
    dialogEditar = new AlertDialog.Builder(activity, R.style.Theme_CAT_Alert_Dialog);
    View dialogView =
        activity.getLayoutInflater().inflate(R.layout.modelo_editar_detalle_venta, null);
    // popupWindowEditar = new PopupWindow(dialogView, LayoutParams.MATCH_PARENT,
    // LayoutParams.WRAP_CONTENT);
    Producto prod = getProducto(detalle_seleccionado.getIdproducto());
    ImageView imageProd = (ImageView) dialogView.findViewById(R.id.ivImagenProdEditarDetalleVenta);

    if (!prod.getImagen().equals(Variables.SIN_ESPECIFICAR)) {
      String pathImagen =
          new StringBuilder(Variables.FOLDER_IMAGES_COOPERATIVA)
              .append(prod.getImagen())
              .toString();
      Bitmap bitmap = BitmapFactory.decodeFile(pathImagen);
      if (bitmap != null) {
        imageProd.setImageBitmap(bitmap);
      } else {
        imageProd.setImageResource(R.drawable.ic_insert_emoticon_white_48dp);
      }
    } else {
      imageProd.setImageResource(R.drawable.ic_insert_emoticon_white_48dp);
    }

    tvNombreProd = (TextView) dialogView.findViewById(R.id.tvNombreProdEditarDetalleVenta);
    tvNombreProd.setText(new StringBuilder(prod.getNombre_prod()));
    tvNombreProd.setTag(prod);
    TextView tvPrecioProd = (TextView) dialogView.findViewById(R.id.tvPrecioProdEditarDetalleVenta);
    tvPrecioProd.setText(new StringBuilder().append(prod.getPrecio()).append("Bs."));
    etCantidad = (EditText) dialogView.findViewById(R.id.etCantidadEditarDetalleVenta);
    etCantidad.setText(String.valueOf(detalle_seleccionado.getCantidad()));
    LinearLayout lyCostoEntrega =
        (LinearLayout) dialogView.findViewById(R.id.lyCostoEntregaEditarDetalleVenta);
    etCostoEntrega = (EditText) dialogView.findViewById(R.id.etCostoEntregaEditarDetalleVenta);

    lyCostoEntrega.setVisibility(View.VISIBLE);
    etCostoEntrega.setText(String.valueOf(detalle_seleccionado.getCosto_entrega()));
    etCostoEntrega.addTextChangedListener(CalcVentaDomicilioWatcher);

    etCosto = (EditText) dialogView.findViewById(R.id.etCostoEditarDetalleVenta);
    etCosto.setText(String.valueOf(detalle_seleccionado.getCosto()));
    dialogEditar.setNegativeButton(
        R.string.cancelar,
        new android.content.DialogInterface.OnClickListener() {
          @Override
          public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();
          }
        });
    dialogEditar.setPositiveButton(
        R.string.aceptar,
        new android.content.DialogInterface.OnClickListener() {
          @Override
          public void onClick(DialogInterface dialog, int which) {
            String txtCantidad = etCantidad.getText().toString().trim();
            String txtCosto = etCosto.getText().toString().trim();
            String txtCostoEntrega = etCostoEntrega.getText().toString().trim();
            if (!txtCosto.equals("") && !txtCantidad.equals("") && !txtCostoEntrega.equals("")) {
              double costo_anterior_pedido =
                  reg_pedido.nuevoPedido.getCosto_total() - detalle_seleccionado.getCosto();
              int cant = Integer.valueOf(txtCantidad);
              double costo_entrega = Double.parseDouble(txtCostoEntrega);
              double costo = Double.parseDouble(txtCosto);
              detalle_seleccionado.setCantidad(cant);
              detalle_seleccionado.setCosto_entrega(costo_entrega);
              detalle_seleccionado.setCosto(costo);
              reg_pedido.nuevoPedido.setCosto_total(costo_anterior_pedido + costo);
              reg_pedido.tvCostoTotal.setText(
                  new StringBuilder()
                      .append(reg_pedido.nuevoPedido.getCosto_total())
                      .append(" Bs."));
              reg_pedido.tvCostoTotal.setTag(reg_pedido.nuevoPedido.getCosto_total());
              ListaDetallePedidoAdapter.super.notifyDataSetChanged();
              Toast.makeText(activity, "Editado", Toast.LENGTH_SHORT).show();
            } else {
              Toast.makeText(activity, "Sin editar por falta de datos", Toast.LENGTH_SHORT).show();
            }
          }
        });
    dialogEditar.setView(dialogView);
    // dialogEditar.create().show();

    AlertDialog d = dialogEditar.show();
    int titleDividerId = activity.getResources().getIdentifier("titleDivider", "id", "android");
    View titleDivider = d.findViewById(titleDividerId);
    if (titleDivider != null) {
      titleDivider.setBackgroundColor(activity.getResources().getColor(R.color.AMARILLO_GOLD));
    }

    WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
    lp.copyFrom(d.getWindow().getAttributes());
    lp.width = WindowManager.LayoutParams.FILL_PARENT;
    lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
    d.getWindow().setAttributes(lp);
  }