Mais nos primeiros testes que fiz ja achei estranho o comportamento destes checkbox’s. Por exemplo se eu marco o primeiro checkbox e vou rolando a tela percebi que tem outros itens marcados também sem eu ter chekado estes outros. Então peço ajuda dos colegas para saber o que esta acontecendo?
Isso depende um pouco de como implementar...
Você quer que o checkbox seja marcado apena quando clicar exatamente nele ou em qlqr lugar do item na listview ?
Você precisa adicionar uma tag ao checkbox com um objeto para controle se esta checado ou não, ou caso, estou utilizando o objto que é utilizado para criar a View da posição 'position'
Esse código é caso queria que seja checado apenas se tocar exatamente no checkbox
@OverridepublicViewgetView(intposition,Viewview,ViewGroupviewGroup){LayoutInflaterfactory=LayoutInflater.from(MyApp.getAppContext());ViewitemView=factory.inflate(R.layout.listItem,null);MyObjectmyObj=(MyObject)getItem(position);//getItem é metodo obrigatório do BaseAdapterCheckBoxcheckBox=(CheckBox)itemView.findViewById(R.id.checkbox);if(myObj.toggle){checkBox.setChecked(true);}else{checkBox.setChecked(false);}checkBox.setTag(myObj);checkBox.setOnCheckedChangeListener(newOnCheckedChangeListener(){publicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked){MyObjectitem=(MyObject)buttonView.getTag();if(isChecked){item.toggle=true;}else{item.toggle=false;}}});}
Obs. fiz o código na mão agora, pode ser que tenha algum errinho, to sem eclipse no momento ;)
Sou meio ruim para explicar, então, qlqr dúvida so postar.
Marky.Vasconcelos
Sobre ele estar marcado:
O ListView implementa com sucesso o recycle de views, então se voce está utilizando o recycleView que vem como parametro ele vai continuar com o estado de marcado que estava na view anterior.
A
adriano_servitec
Então fabriciov, obrigado por responder
Não implementei nenhum codigo ainda no activity, apenas estou fazendo os testes iniciais e... Como disse estou marcando o primeiro por exemplo e estão sendo marcado oustros na lista sem eu ter marcado.
Desculpe...Não entendi sua resposta Marky.Vasconcelos
Sobre ele estar marcado:
O ListView implementa com sucesso o recycle de views, então se voce está utilizando o recycleView que vem como parametro ele vai continuar com o estado de marcado que estava na view anterior.
Obrigado.
Marky.Vasconcelos
Poste seu adapter.
A
adriano_servitec
Marky.Vasconcelos:
Poste seu adapter.
Obrigado Marky.Vasconcelos, mais eu mudei aqui, não vou mais usar CheckBox…Valeu