Actuellement, j'ai une case à cocher sur ma listview, à partir du BaseAdapter, j'ai défini l'identifiant de la case à cocher avec mon propre identifiant. Lorsque j'accède à cet ID à partir de l'activité. Je reçois une exception de pointeur nul? Bien que je débogue j'ai toujours cette exception de pointeur nul?Cliquez sur le bouton Problème de la case à cocher
N'est-il pas possible de définir manuellement l'identifiant de la case à cocher? La case à cocher a une méthode setId (int id).
Des réflexions sur l'exception de pointeur null sur checkBox.getId()? c'est mon getView() où j'ai défini l'identifiant checkBox.
viewHolder.checkBox.setId(myList.get(position).getId());
Sur l'activité que j'ai fait comme ceci parce que je dois supprimer tout CheckBox vérifié.
private void deleteCheckItems() {
SparseBooleanArray booleanArray = listView.getCheckedItemPositions();
for (int i = 0; i < listView.getCount(); i++) {
if (booleanArray.get(i))
Toast.makeText(getBaseContext(), " the selected index is " + i, Toast.LENGTH_SHORT).show();
}
}
Je reçois NullPointerException de cette méthode
Modifié: Mon code source est aussi:
public View getView(int position, View view, ViewGroup parent){
ViewHolder viewHolder;
if(view==null){
viewHolder = new ViewHolder();
view = layoutInfalter.inflate(R.layout.item_row,null);
viewHolder.checkBox = (CheckBox)view.findViewById(R.id.CheckBoxId);
if(VIEW_MODE==-1){
viewHolder.checkBox.setVisibility(View.INVISIBLE);
}else{
myAdapter.setViewMode(1);
viewHolder.checkBox.setVisibility(View.VISIBLE);
viewHolder.checkBox.setId(myList.get(position).getId());
}
viewHolder.text1= (TextView)view.findViewById(R.id.text1);
viewHolder.text2 =TextView)view.findViewById(R.id.text2);
view.setTag(viewHolder);
}else{
viewHolder = (ViewHolder)view.getTag();
}
viewHolder.text1.setText(myList.get(position).getText1());
viewHolder.text2.setText(myList.get(position).getText2());
//viewHolder.checkBox.setId(myList.get(position).getId());
return view;
}
pouvez-vous montrer le code complet? –
sont en mesure d'obtenir la ligne no. où l'erreur se produit? –
L'erreur est sur la méthode deleteCheckItem(). Mon toast n'est pas show car il obtient une valeur nulle. – Robin