I know this question is asked many times before and followed them and I am up to the mark to a great extent with only one problem left.I was able to solve the duplicating issue by adding textwatcher and using hashmap to store value but problem that is left is that the value of original edit text is also gone when I scroll back to it. By this I mean that if I type something in say first EditText
and then scroll down, that value doesn't get repeated anywhere but the value of EditText
in which I typed is also gone. Here is my code.
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = layoutInflater.inflate(R.layout.list_planmanobra_row, parent, false);
holder.periodo_zafra = (TextView) convertView.findViewById(R.id.periodo_zafra);
holder.CODIGO_FINCA = (TextView) convertView.findViewById(R.id.CODIGO_FINCA);
//holder.NOMBRE_FINCA = (TextView) convertView.findViewById(R.id.NOMBRE_FINCA);
holder.MES = (TextView) convertView.findViewById(R.id.MES);
holder.CLAVE = (TextView) convertView.findViewById(R.id.CLAVE);
holder.NOMBRE_CLAVE = (TextView) convertView.findViewById(R.id.NOMBRE_CLAVE);
holder.CODIGO_ESTANDAR = (TextView) convertView.findViewById(R.id.CODIGO_ESTANDAR);
holder.NOMBRE_ESTANDAR_MO = (TextView) convertView.findViewById(R.id.NOMBRE_ESTANDAR_MO);
holder.CANTIDAD_ESTANDAR = (TextView) convertView.findViewById(R.id.CANTIDAD_ESTANDAR);
holder.VALOR_UNITARIO = (TextView) convertView.findViewById(R.id.VALOR_UNITARIO);
holder.VALOR_TOTAL = (TextView) convertView.findViewById(R.id.VALOR_TOTAL);
holder.EJECUTA = (TextView) convertView.findViewById(R.id.EJECUTA);
holder.btn_submit= (Button) convertView.findViewById(R.id.btn_submit);
holder.btn_submit.setText("Enviar");
holder.Cantidad= (EditText) convertView.findViewById(R.id.et_cantidad);
holder.Cantidad_empleados= (EditText) convertView.findViewById(R.id.Cantidad_empleados);
holder.checkbox= (CheckBox) convertView.findViewById(R.id.checkbox);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.periodo_zafra.setText(planmanobraBeanArrayList.get(position).getPERIODO_ZAFRA());
holder.CODIGO_FINCA.setText(planmanobraBeanArrayList.get(position).getCODIGO_FINCA());
// holder.NOMBRE_FINCA.setText(planiBeanArrayList.get(position).getNOMBRE_FINCA());
holder.MES.setText(planmanobraBeanArrayList.get(position).getMES());
holder.CLAVE.setText(planmanobraBeanArrayList.get(position).getCLAVE());
holder.NOMBRE_CLAVE.setText(planmanobraBeanArrayList.get(position).getNOMBRE_CLAVE());
holder.CODIGO_ESTANDAR.setText(planmanobraBeanArrayList.get(position).getCODIGO_ESTANDAR());
holder.NOMBRE_ESTANDAR_MO.setText(planmanobraBeanArrayList.get(position).getNOMBRE_ESTANDAR_MO());
holder.CANTIDAD_ESTANDAR.setText(planmanobraBeanArrayList.get(position).getCANTIDAD_ESTANDAR());
holder.VALOR_UNITARIO.setText(planmanobraBeanArrayList.get(position).getVALOR_UNITARIO());
holder.VALOR_TOTAL.setText(planmanobraBeanArrayList.get(position).getVALOR_TOTAL());
holder.EJECUTA.setText(planmanobraBeanArrayList.get(position).getEJECUTA());
holder.Cantidad.setText(editTextList.get(position));
holder.Cantidad.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) {
editTextList.put(position,charSequence.toString());
}
@Override
public void afterTextChanged(Editable editable) {
}
});
holder.btn_submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
return convertView;
}
Cantidad is the edit text