Note that there are some explanatory texts on larger screens.

plurals
  1. POProblem with refreshing listview from a dialog window
    text
    copied!<p>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:</p> <pre><code> //in the dialog: { DBAdapter db = new DBAdapter( getApplicationContext() ); db.open(); db.deleteTitle( rowid ); db.close(); //cursor.requery(); //mAdapter.notifyDataSetChanged(); fillData(); } private void fillData() { try{ db.open(); cursor = db.getAllTitles(); startManagingCursor(cursor); mAdapter = new MyIDsListCursorAdapters(this, R.layout.myidsrow, cursor, columns, to); setListAdapter(mAdapter); db.close(); }catch (SQLException e){ showDatabaseErrorDialog (); } } </code></pre> <p>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.</p> <p>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. </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload