I have my custom listview and at the end of each row I have ImageView to delete that row from the list but when I click on this image I get "Arryindesoutofboundexception: length=681 indez=-1"
Help me
private OnClickListener imageviewClickListener = new OnClickListener() {
@Override
public void onClick(View v)
{
int index;
index=listView.getSelectedItemPosition();//itemsListView is the listview
dataAdapter.remove(topicsList.get(index));
topicsList.clear();
dataAdapter.notifyDataSetChanged();
}
};
Your item isn't selected because the image intercepts the touch event, therefore the selected position is -1. In order to make this work you need to tell the OnClickListener what item it belongs to:
private static class MyClickListener implements OnClickListener {
private final int mIndex;
private MyClickListener (int index) {
mIndex = index;
}
@Override
public void onClick(View v) {
dataAdapter.remove(topicsList.get(mIndex));
topicsList.clear();
dataAdapter.notifyDataSetChanged();
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With