public TableLayout createTable() { int comboCounter = 0; TableLayout tl = new TableLayout(this); TableRow tr = new TableRow(this); CheckBox c; TextView text; for (int x = 0; x < KMapControl.getTopDisplay().length; x++) { text = new TextView(this); if (KMapControl.getKMapSize() == KMapController.VARIABLE_5) { if (x == 0) { fiveVarCounter += 1; text.setTextColor(Color.YELLOW); text.setText(fiveVarCounter + " "); } else text.setText(KMapControl.getTopDisplay()[x]); } else { text.setText(KMapControl.getTopDisplay()[x]); } text.setPadding(PADDING, PADDING, PADDING, PADDING); tr.addView(text); } tl.addView(tr); for (int x = 0; x < KMapControl.getLeftDisplay().length; x++) { tr = new TableRow(this); text = new TextView(this); text.setText(KMapControl.getLeftDisplay()[x]); text.setPadding(PADDING, PADDING, PADDING, PADDING); tr.addView(text); for (int y = 1; y < KMapControl.getTopDisplay().length; y++) { c = new CheckBox(this); if (KMapControl.getKMapSize() == KMapController.VARIABLE_5 && fiveVarCounter == 1) c.setId(KMapControl.getTableLayout()[comboCounter] + 16); else c.setId(KMapControl.getTableLayout()[comboCounter]); c.setButtonDrawable(R.drawable.customcheck); c.setPadding(PADDING, PADDING, PADDING, PADDING); c.setOnCheckedChangeListener( new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton arg0, boolean arg1) { KMapControl.setVariableAtLocation(arg0.getId(), arg1); String s = "\nLast Selected:\n\nMinterm: " + arg0.getId() + "\n" + "State: "; if (arg1 == false) s += "0"; else s += "1"; s += "\nBinary: " + KMapControl.getBinarySpot(arg0.getId()); s += "\nVariables: " + KMapControl.getStringVariableAtLocation(arg0.getId()); display.setText(s); } }); tr.addView(c); comboCounter += 1; } tl.addView(tr); } return tl; }
public CheckBoxifiedTextView( final Context context, CheckBoxifiedText aCheckBoxifiedText, final int position) { super(context); this.setOrientation(HORIZONTAL); mCheckBoxText = aCheckBoxifiedText; mCheckBox = new CheckBox(context); mCheckBox.setPadding(0, 0, 20, 0); // 5px to the right mCheckBox.setChecked(aCheckBoxifiedText.getChecked()); mCheckBox.setOnCheckedChangeListener( new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton arg0, boolean arg1) { try { bArray[position] = mCheckBox.isChecked(); // Toast.makeText(context, " position = " + Boolean.toString(bArray[0]) + // Boolean.toString(bArray[1]), Toast.LENGTH_LONG).show(); } catch (Exception e) { // bArray[position] = mCheckBox.isChecked(); // Toast.makeText(context, " position = " + Boolean.toString(bArray[0]) + // Boolean.toString(bArray[1]) + Boolean.toString(bArray[2]), // Toast.LENGTH_LONG).show(); // Toast.makeText(context, " position = "+Integer.toString(position)+" rows = // "+Integer.toString(rows),Toast.LENGTH_SHORT).show(); } } }); /* bArray[position] = mCheckBox.isChecked(); Toast.makeText(context, " position = " + Boolean.toString(bArray[0]) + Boolean.toString(bArray[1]) + Boolean.toString(bArray[2]), Toast.LENGTH_LONG).show(); } });*/ addView( mCheckBox, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); mText = new TextView(context); mText.setText(aCheckBoxifiedText.getText()); addView( mText, new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); }
public void getreportsent() { int i = 0; TableRow tr1 = new TableRow(this); tr1.setId(100 + i); tr1.layout(2, 0, 0, 0); // Create a TextView to house the name of the province final TextView label2 = new TextView(this); label2.setId(300 + i); label2.setText(" "); label2.setTextColor(Color.BLACK); label2.setPadding(20, 0, 0, 0); tr1.setPadding(0, 1, 0, 1); tr1.addView(label2); // Create a TextView to house the name of the province final TextView labeltitle2 = new TextView(this); labeltitle2.setId(300 + i); labeltitle2.setText("Subject"); labeltitle2.setTextColor(Color.BLACK); labeltitle2.setPadding(20, 0, 0, 0); tr1.setPadding(0, 1, 0, 1); tr1.addView(labeltitle2); /*// Create a TextView to house the name of the province final TextView labelsend2 = new TextView(this); labelsend2.setId(500+i); labelsend2.setText("From"); labelsend2.setTextColor(Color.BLACK); tr1.addView(labelsend2);*/ // Create a TextView to house the value of the after-tax income final TextView labelrec2 = new TextView(this); labelrec2.setId(400 + i); labelrec2.setText("To"); labelrec2.setTextColor(Color.BLACK); labelrec2.setPadding(20, 0, 0, 0); tr1.setPadding(0, 1, 0, 1); tr1.addView(labelrec2); // Create a TextView to house the value of the after-tax income final TextView labeldt2 = new TextView(this); labeldt2.setId(600 + i); labeldt2.setText("Date"); labeldt2.setTextColor(Color.BLACK); labeldt2.setPadding(20, 0, 0, 0); tr1.setPadding(0, 1, 0, 1); tr1.addView(labeldt2); // Add the TableRow to the TableLayout tbl3.addView( tr1, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); for (int i1 = 0; i1 < rec2.length; i1++) { try { TableRow tr = new TableRow(this); tr.setId(100 + i); tr.layout(2, 0, 0, 0); // Create a TextView to house the name of the province final CheckBox chk1 = new CheckBox(this); ; chk1.setId(200 + i); chk1.setText(""); chk1.setPadding(20, 0, 0, 0); tr.setPadding(0, 1, 0, 1); tr.addView(chk1); // Create a TextView to house the name of the province final TextView labeltitle1 = new TextView(this); labeltitle1.setId(300 + i); labeltitle1.setText(title2[i1]); labeltitle1.setTextColor(Color.BLACK); labeltitle1.setPadding(20, 0, 0, 0); tr.setPadding(0, 1, 0, 1); tr.addView(labeltitle1); /*// Create a TextView to house the name of the province final TextView labelsend1 = new TextView(this); labelsend1.setId(500+i); labelsend1.setText(send2[i1]); labelsend1.setTextColor(Color.BLACK); tr.addView(labelsend1);*/ // Create a TextView to house the value of the after-tax income final TextView labelrec1 = new TextView(this); labelrec1.setId(400 + i); labelrec1.setText("" + rec2[i1]); labelrec1.setTextColor(Color.BLACK); labelrec1.setPadding(20, 0, 0, 0); tr.setPadding(0, 1, 0, 1); tr.addView(labelrec1); int date1 = Integer.parseInt(dt2[i1]); Date date = new Date(date1 * 1000L); SimpleDateFormat postFormater = new SimpleDateFormat("dd-MM-yyyy"); String newDateStr = postFormater.format(date); // Create a TextView to house the value of the after-tax income final TextView labeldt1 = new TextView(this); labeldt1.setId(600 + i); labeldt1.setText("" + newDateStr); labeldt1.setTextColor(Color.BLACK); labeldt1.setPadding(20, 0, 0, 0); tr.setPadding(0, 1, 0, 1); tr.addView(labeldt1); final TextView labelbody1 = new TextView(this); labelbody1.setId(700 + i); labelbody1.setText("" + body2[i1]); labelbody1.setTextColor(Color.BLACK); labelbody1.setVisibility(View.GONE); labelbody1.setPadding(20, 0, 0, 0); tr.setPadding(0, 1, 0, 1); tr.addView(labelbody1); // Add the TableRow to the TableLayout tbl3.addView( tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); i++; labeltitle1.setOnClickListener( new TextView.OnClickListener() { public void onClick(View v) { myDialog1 = new Dialog(mailbox.this); myDialog1.setContentView(R.layout.showmail); myDialog1.setTitle("Sent Mails"); myDialog1.setCancelable(true); TextView from = (TextView) myDialog1.findViewById(R.id.txtfrom); TextView date = (TextView) myDialog1.findViewById(R.id.txtdate); TextView to = (TextView) myDialog1.findViewById(R.id.txtto); TextView title = (TextView) myDialog1.findViewById(R.id.txttitle); EditText body = (EditText) myDialog1.findViewById(R.id.editto); Button button = (Button) myDialog1.findViewById(R.id.btnback); String rec1 = labelrec1.getText().toString(); String date1 = labeldt1.getText().toString(); // String send1=labelsend1.getText().toString(); String title1 = labeltitle1.getText().toString(); String body1 = labelbody1.getText().toString(); button.setText("Back To Sent mails"); // from.setText(send1); date.setText(date1); to.setText(rec1); title.setText(title1); body.setText(body1); button.setOnClickListener( new OnClickListener() { public void onClick(View v) { myDialog1.dismiss(); } }); myDialog1.show(); } }); } catch (Exception e) { tv.setText(e.getMessage()); } } }
private LinearLayout createProductInfo(com.app.commons.JSONObject jo) { JSONArray ja = jo.getJSONArray("settleGoods"); if (ja == null || ja.length() == 0) { return null; } final String productSku = jo.getString("productSku"); LinearLayout info = new LinearLayout(CartActivtiy.this); int cart_height = Math.round(getResources().getDimension(R.dimen.cart_height)); info.setLayoutParams( new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); info.setMinimumHeight(cart_height); info.setOrientation(LinearLayout.HORIZONTAL); info.setGravity(Gravity.CENTER_VERTICAL); info.setBackgroundResource(R.drawable.border2); info.setPadding(10, 0, 10, 0); final CheckBox rb = new CheckBox(CartActivtiy.this); rb.setPadding(0, 0, 10, 0); rb.setButtonDrawable(R.drawable.checkbox); if (jo.getBoolean("checked")) { rb.setChecked(true); settleNum = settleNum + 1; } else { rb.setChecked(false); } rb.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { Map<String, Object> param = new HashMap<>(); param.put("ids", productSku); param.put("checkeds", rb.isChecked() ? "Y" : "N"); Utils.asyncHttpRequestPost( Constants.URL_CART_CHANGESTATUS, param, new JsonHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, JSONObject res) { com.app.commons.JSONObject jo = new com.app.commons.JSONObject(res); if (statusCode == 200) { if (jo.getBoolean("success")) { flushCartInfo(); } else { Toast.makeText( CartActivtiy.this, jo.getString("errMsg"), Toast.LENGTH_SHORT) .show(); flushCartInfo(); } } else { Toast.makeText(CartActivtiy.this, statusCode, Toast.LENGTH_SHORT).show(); } } }); } }); info.addView(rb); LinearLayout center = new LinearLayout(CartActivtiy.this); LinearLayout.LayoutParams centerLP = new LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); centerLP.weight = 1; center.setOrientation(LinearLayout.VERTICAL); center.setLayoutParams(centerLP); center.setPadding(10, 0, 0, 0); int wh2 = Math.round(getResources().getDimension(R.dimen.btn_cart_height)); if (ja != null && ja.length() > 0) { ImageView iv = new ImageView(CartActivtiy.this); int wh = Math.round(getResources().getDimension(R.dimen.cart_img_wh)); iv.setLayoutParams(new ViewGroup.LayoutParams(wh, wh)); iv.setImageResource(R.drawable.loading); Utils.asyncLoadInternetImageView( iv, Constants.URL_IMAGE + "/200X200" + ja.getJSONObject(0).getString("photoUrl")); info.addView(iv); TextView tv = new TextView(CartActivtiy.this); if (ja.length() == 1) { tv.setText(ja.getJSONObject(0).getString("goodsName")); } else { tv.setText(getResources().getString(R.string.goods_set)); } center.addView(tv); LinearLayout bottom = new LinearLayout(CartActivtiy.this); bottom.setLayoutParams( new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); bottom.setOrientation(LinearLayout.HORIZONTAL); bottom.setPadding(0, 15, 0, 0); LinearLayout.LayoutParams wrap = new LinearLayout.LayoutParams(wh2, wh2); wrap.setMargins(5, 0, 5, 0); final EditText et = new EditText(CartActivtiy.this); et.setBackgroundResource(R.drawable.wrapcontent); et.setText(jo.getString("number")); et.setSingleLine(true); et.setKeyListener(new DigitsKeyListener(false, false)); et.setLayoutParams(wrap); et.setGravity(Gravity.RIGHT); et.setPadding(5, 2, 5, 2); et.setFocusable(true); et.addTextChangedListener( new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {} @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {} @Override public void afterTextChanged(Editable editable) { if (editable.length() == 0) { editable.append(String.valueOf(def_num)); } else if (Integer.parseInt(editable.toString()) <= 0) { editable.replace(0, 1, String.valueOf(def_num)); } else if (editable.length() > 2) { editable.replace(0, editable.length(), String.valueOf(def_maxnum)); } Map<String, Object> param = new HashMap<>(); param.put("id", productSku); param.put("count", editable.toString()); Utils.asyncHttpRequestPost( Constants.URL_CART_CHANGENUMBER, param, new JsonHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, JSONObject res) { com.app.commons.JSONObject jo = new com.app.commons.JSONObject(res); if (statusCode == 200) { if (jo.getBoolean("success")) { flushCartInfo(); } else { Toast.makeText( CartActivtiy.this, jo.getString("errMsg"), Toast.LENGTH_SHORT) .show(); flushCartInfo(); } } else { Toast.makeText(CartActivtiy.this, statusCode, Toast.LENGTH_SHORT).show(); } } }); } }); ImageView sub = new ImageView(CartActivtiy.this); sub.setScaleType(ImageView.ScaleType.FIT_CENTER); sub.setLayoutParams(wrap); sub.setImageResource(R.drawable.cart_sub); sub.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { int num = Integer.parseInt(et.getText().toString()); if (num > 1) { et.setText(String.valueOf((num - 1))); } } }); ImageView add = new ImageView(CartActivtiy.this); add.setLayoutParams(wrap); add.setScaleType(ImageView.ScaleType.FIT_CENTER); add.setImageResource(R.drawable.cart_add); add.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { Integer num = Integer.parseInt(et.getText().toString()); et.setText(String.valueOf(num + 1)); } }); bottom.addView(sub); bottom.addView(et); bottom.addView(add); if (jo.getString("remark") != null) { TextView remark = new TextView(CartActivtiy.this); remark.setText(jo.getString("remark")); remark.setTextColor(getResources().getColor(R.color.red)); bottom.addView(remark); } center.addView(bottom); } LinearLayout right = new LinearLayout(CartActivtiy.this); right.setOrientation(LinearLayout.VERTICAL); right.setGravity(Gravity.CENTER); right.setPadding(0, 0, 0, 5); TextView tv2 = new TextView(CartActivtiy.this); tv2.setLayoutParams( new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); tv2.setGravity(Gravity.CENTER); tv2.setText("¥" + jo.getString("amount")); tv2.setTextColor(getResources().getColor(R.color.red)); right.addView(tv2); ImageButton ib = new ImageButton(CartActivtiy.this); int cdelw = Math.round(getResources().getDimension(R.dimen.cart_delete_width)); int cdelh = Math.round(getResources().getDimension(R.dimen.cart_delete_height)); ib.setLayoutParams(new ViewGroup.LayoutParams(cdelw, cdelh)); ib.setScaleType(ImageView.ScaleType.FIT_CENTER); ib.setBackgroundResource(R.drawable.border3); ib.setImageResource(R.drawable.cart_delete); ib.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { Map<String, Object> param = new HashMap<String, Object>(); param.put("ids", productSku); Utils.asyncHttpRequestPost( Constants.URL_CART_DELETEPRODUCTS, param, new JsonHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, JSONObject res) { com.app.commons.JSONObject jo = new com.app.commons.JSONObject(res); if (statusCode == 200) { if (jo.getBoolean("success")) { flushCartInfo(); } else { Toast.makeText( CartActivtiy.this, jo.getString("errMsg"), Toast.LENGTH_SHORT) .show(); flushCartInfo(); } } else { Toast.makeText(CartActivtiy.this, statusCode, Toast.LENGTH_SHORT).show(); } } }); } }); right.addView(ib); info.addView(center); info.addView(right); return info; }
@SuppressWarnings("unchecked") public SelectMultiWidget(Context context, FormEntryPrompt prompt) { super(context, prompt); mPrompt = prompt; mCheckboxes = new Vector<CheckBox>(); mItems = prompt.getSelectChoices(); setOrientation(LinearLayout.VERTICAL); Vector<Selection> ve = new Vector<Selection>(); if (prompt.getAnswerValue() != null) { ve = (Vector<Selection>) getCurrentAnswer().getValue(); } // Is this safe enough from collisions? buttonIdBase = Math.abs(prompt.getIndex().toString().hashCode()); if (prompt.getSelectChoices() != null) { for (int i = 0; i < mItems.size(); i++) { // no checkbox group so id by answer + offset final CheckBox c = new CheckBox(getContext()); c.setId(buttonIdBase + i); c.setText(stylize(prompt.getSelectChoiceText(mItems.get(i)))); c.setTextSize(TypedValue.COMPLEX_UNIT_DIP, mAnswerFontsize); c.setFocusable(!prompt.isReadOnly()); c.setEnabled(!prompt.isReadOnly()); int padding = (int) Math.floor(context.getResources().getDimension(R.dimen.select_padding)); c.setPadding(c.getPaddingLeft(), 0, padding, 0); for (int vi = 0; vi < ve.size(); vi++) { // match based on value, not key if (mItems.get(i).getValue().equals(ve.elementAt(vi).getValue())) { c.setChecked(true); break; } } // Note: This gets fired during setup as well, so this listener should only // be added after everything about the checkbox is set up // when clicked, check for readonly before toggling c.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { /* * (non-Javadoc) * @see android.widget.CompoundButton.OnCheckedChangeListener#onCheckedChanged(android.widget.CompoundButton, boolean) */ @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (!mCheckboxInit && mPrompt.isReadOnly()) { if (buttonView.isChecked()) { buttonView.setChecked(false); } else { buttonView.setChecked(true); } } widgetEntryChanged(); } }); mCheckboxes.add(c); String audioURI = null; audioURI = prompt.getSpecialFormSelectChoiceText(mItems.get(i), FormEntryCaption.TEXT_FORM_AUDIO); String imageURI = null; imageURI = prompt.getSpecialFormSelectChoiceText(mItems.get(i), FormEntryCaption.TEXT_FORM_IMAGE); String videoURI = null; videoURI = prompt.getSpecialFormSelectChoiceText(mItems.get(i), "video"); String bigImageURI = null; bigImageURI = prompt.getSpecialFormSelectChoiceText(mItems.get(i), "big-image"); MediaLayout mediaLayout = new MediaLayout(getContext()); mediaLayout.setAVT(c, audioURI, imageURI, videoURI, bigImageURI); addView(mediaLayout); mediaLayout.setPadding(0, padding, 0, padding); mediaLayout.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { c.performClick(); } }); // Last, add the dividing line between elements (except for the last element) ImageView divider = new ImageView(getContext()); divider.setBackgroundResource(android.R.drawable.divider_horizontal_bright); if (i != mItems.size() - 1) { addView(divider); } } } mCheckboxInit = false; }
private void dibujarDias() { for (int i = 0; i < mDias.size(); i++) { final List<String> needPhotos = new ArrayList<>(); View vDia = LayoutInflater.from(this).inflate(R.layout.proyectos_detalle, null, false); TextView dia_p_programado = (TextView) vDia.findViewById(R.id.programado); final TextView dia_p_real = (TextView) vDia.findViewById(R.id.real); TextView dia_n = (TextView) vDia.findViewById(R.id.dia); final LinearLayout dia_contenido = (LinearLayout) vDia.findViewById(R.id.content); final LinearLayout dia_actividades = (LinearLayout) vDia.findViewById(R.id.activityList); final EditText p_real = (EditText) vDia.findViewById(R.id.avance); final EditText p_fecha = (EditText) vDia.findViewById(R.id.fecha); EditText p_observacion = (EditText) vDia.findViewById(R.id.observacion); final ImageButton expand = (ImageButton) vDia.findViewById(R.id.expand); ImageButton dia_foto = (ImageButton) vDia.findViewById(R.id.foto); /*p_fecha.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View view, boolean b) { if (b) { p_fecha.setText(""); } } });*/ dia_foto.setVisibility(View.GONE); expand.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { if (dia_contenido.getVisibility() == View.GONE) { dia_contenido.setVisibility(View.VISIBLE); expand.setImageResource(R.drawable.ic_action_close); } else { dia_contenido.setVisibility(View.GONE); expand.setImageResource(R.drawable.ic_action_open); } } }); final Dia dia = mDias.get(i); final ArrayList<Actividad> actividadArrayList = dia.getActividades(); dia.setAdvanceToday("0"); p_fecha.setText(dia.getDate()); /*p_fecha.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View view, boolean b) { if (!b) { if (!Funciones.validateDate(p_fecha.getText().toString())) { AlertDialog.Builder b1 = new AlertDialog.Builder(mContext); b1.setIcon(android.R.drawable.ic_dialog_alert); b1.setMessage("Formato de fecha Incorrecto.\nDebe ser AAAA-MM-DD"); b1.setTitle("Dia " + dia.getDayNumber()); b1.setNeutralButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { dialogInterface.dismiss(); } }); b1.show(); error = true; } else { error = false; try { DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date hoy = new Date(); Date fecha_envia = formatter.parse(p_fecha.getText().toString()); Log.d("FECHAS", hoy + " " + fecha_envia); if (formatter.format(fecha_envia).compareTo(formatter.format(hoy)) < 0) { AlertDialog.Builder b1 = new AlertDialog.Builder(mContext); b1.setIcon(android.R.drawable.ic_dialog_alert); b1.setMessage("No puede ingresar una fecha anterior al día de hoy."); b1.setTitle("Dia " + dia.getDayNumber()); b1.setNeutralButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { dialogInterface.dismiss(); } }); b1.show(); error = true; } } catch (Exception e) { e.printStackTrace(); error = true; } } } } });*/ p_observacion.setText(dia.getDescriptionDay()); dia_p_programado.setText(dia.getProgrammedAdvance()); dia_p_real.setText(dia.getRealAdvance()); dia_n.setText("DIA " + dia.getDayNumber()); dia.setFecha(p_fecha); dia.setlContenido(dia_contenido); ArrayList<CheckBox> checkBoxes = new ArrayList<>(); for (int j = 0; j < actividadArrayList.size(); j++) { final Actividad a = actividadArrayList.get(j); /** SI una actividad requiere foto se activara el boton * */ if (a.isFoto()) dia_foto.setVisibility(View.VISIBLE); needPhotos.add(dia.getDayNumber() + ";" + a.getNameActivity()); CheckBox c = new CheckBox(mContext); c.setLayoutParams( new LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); c.setText(a.getNameActivity()); c.setPadding(0, 0, 0, 24); if (a.isSelected()) { c.setEnabled(false); c.setChecked(true); } c.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { Log.i("CHECKBOX LISTENER", "****"); float advance; if (dia.getAdvanceToday() == null) { advance = 0; } else advance = Float.parseFloat(dia.getAdvanceToday()); Log.i("CHECKBOX LISTENER", "advance: " + advance); try { if (b) { advance += a.getAdvance(); avance_real_total += a.getAdvance(); dia.setModify(true); for (int k = dia.getDayNumber() - 1; k < mAvances.size(); k++) { float actual = Float.parseFloat(mAvances.get(k).getText().toString()); mAvances .get(k) .setText( String.format(Locale.US, FLOAT_FORMAT, (actual + a.getAdvance()))); } } else { advance -= a.getAdvance(); avance_real_total -= a.getAdvance(); if (advance < 0) advance *= -1; for (int k = dia.getDayNumber() - 1; k < mAvances.size(); k++) { float actual = Float.parseFloat(mAvances.get(k).getText().toString()); mAvances .get(k) .setText( String.format(Locale.US, FLOAT_FORMAT, (actual - a.getAdvance()))); } } Log.i("CHECKBOX LISTENER", "to: " + advance); dia.setAdvanceToday(String.format(Locale.US, FLOAT_FORMAT, advance)); p_real.setText(String.format(Locale.US, FLOAT_FORMAT, advance)); updateProgresoTotal(); } catch (Exception e) { Toast.makeText( mContext, e.getMessage() + "\n" + e.getCause() + "\n" + e.getLocalizedMessage(), Toast.LENGTH_LONG) .show(); } } }); checkBoxes.add(c); dia_actividades.addView(c); } dia_foto.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { DateFormat timestamp_name = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss"); imgActual = new ImagenDia(mProyecto.getId(), dia.getDayNumber(), null, new Date()); imgActual.setFilename( imgActual.getIdproject() + "_" + imgActual.getIdday() + "_" + timestamp_name.format(imgActual.getTimestamp()) + ".png"); tomarFotografia(); } }); mAvances.add(dia_p_real); dia.setFecha(p_fecha); dia.setObservacion(p_observacion); dia.setAvance(p_real); dia.setCheckBoxes(checkBoxes); listadoDias.addView(vDia); } }