File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Android and the fly likes Problem with refreshing listview from a dialog window Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Mobile » Android
Bookmark "Problem with refreshing listview from a dialog window " Watch "Problem with refreshing listview from a dialog window " New topic

Problem with refreshing listview from a dialog window

Adam Kronicki
Ranch Hand

Joined: Sep 01, 2009
Posts: 68

I have a listview and my implementation of the CursorAdapter. As a
part of my list item I have a delete button. When the user presses the
button I show a dialog asking for confirmation and if the user presses
ok I delete the item from the database. The problem is with refreshing
the listview. I tried calling cursor.requery() and
mAdapter.notifyDataSetChanged() (separately or both) but that doesn't
help. Requery clears the list and it re-appears (without the missing
item) after re-entering the activity. notifyDataSetChanged does
nothing (the item is still on the list) and again it is ok after re-
entering the activity. I have managed to make this working after
reloading the whole database:

But reloading the whole db seems to be a very expensive task and I'm
quite sure there must be a better way to do this.

I also have another problem - my listview items are defined by a
relativelayout. However the layout seems to be ignoring all 'vertical'
attributes, like alignParentBottom or centerVertical. I have seen an
google I/O with Romain Guy and he answered a similar question by
saying we should pass the parent ViewGroup followed by false, to the
inflate function, but that still doesn’t solve my problem. Don’t know
what is going on here. I solved this by placing my items below some
others and playing with the margin/padding but I don’t really like
that solution.
I agree. Here's the link:
subject: Problem with refreshing listview from a dialog window
It's not a secret anymore!