Sé que esta pregunta se ha formulado una y otra vez, pero aún así no he podido encontrar una sugerencia que realmente me ayude. La casilla de verificación está desmarcada siempre que la lista se desplaza hacia abajo. Sí, estoy usando una matriz booleana para almacenar los valores, pero esto aún no soluciona el problema. Aquí está mi código. Por favor sugiere una solución para esto. Gracias.CheckBox se desmarca en el desplazamiento en una vista de lista personalizada
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final ViewHolder holder;
final boolean[] itemChecked=new boolean[30];
LayoutInflater inflater = context.getLayoutInflater();
if(convertView==null)
{
convertView = inflater.inflate(R.layout.custom_list, null);
holder = new ViewHolder();
holder.txtViewTitle = (TextView) convertView.findViewById(R.id.title_text);
holder.txtViewDescription = (TextView) convertView.findViewById(R.id.description_text);
holder.cb=(CheckBox) convertView.findViewById(R.id.cb);
convertView.setTag(holder);
}
else
{
holder=(ViewHolder)convertView.getTag();
}
holder.cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
itemChecked[position] = isChecked;
if(itemChecked[position])
{
holder.cb.setChecked(true);
}
else
{
holder.cb.setChecked(false);
}
holder.txtViewTitle.setText(title[position]);
holder.txtViewDescription.setText(description[position]);
holder.cb.setChecked(itemChecked[position]);
holder.txtViewDescription.setFocusable(false);
holder.txtViewTitle.setFocusable(false);
return convertView;
}
}
@Zapi que solucionó el problema. Estaba siendo tonto. Gracias. – Dinesh
He actualizado el código un poco. Probablemente no esté realmente funcionando :) – zapl
mCheckedState = new boolean [objects.size()]; En esta línea, ¿qué es objeto? –