I am working on an Android project. When I try to select images, it’s working fine. However, when I try to delete images and handle the text view, at that time getChildAt() is becoming null; only values coming for if items are visible in FirstVisiblePosition. How can I get for non-visible positions?
SelectImageFragment.this.gridView.getChildAt(index.y) is giving null when I select an image out from view visible.
My code:
if (id == R.id.imageView_delete) {
View parent = (View) view.getParent();
if (parent != null && parent.getParent() != null) {
int location = ((ViewGroup) parent.getParent()).indexOfChild(parent);
SelectImageFragment.this.footer.removeView(parent);
SelectImageFragment.this.deleteAllTv.setText("(" + SelectImageFragment.this.footer.getChildCount() + ")");
long imageid = SelectImageFragment.this.selectedImageIdList.remove(location).longValue();
SelectImageFragment.this.selectedImageOrientationList.remove(location);
Point index = SelectImageFragment.this.findItemById(imageid);
if (index != null) {
GridViewItem gridViewItem = SelectImageFragment.this.albumList.get(index.x).gridItems.get(index.y);
gridViewItem.selectedItemCount--;
int value = SelectImageFragment.this.albumList.get(index.x).gridItems.get(index.y).selectedItemCount;
if (SelectImageFragment.this.albumList.get(index.x).gridItems == SelectImageFragment.this.adapter.items && SelectImageFragment.this.gridView.getFirstVisiblePosition() <= index.y && index.y <= SelectImageFragment.this.gridView.getLastVisiblePosition() && SelectImageFragment.this.gridView.getChildAt(index.y) != null) {
TextView text = (TextView) SelectImageFragment.this.gridView.getChildAt(index.y).findViewById(R.id.textViewSelectedItemCount);
text.setText("" + value);
if (value <= 0 && text.getVisibility() == View.VISIBLE) {
text.setVisibility(View.INVISIBLE);
}
}
}
}
