how to refresh the listView using the Cursor Adapter
android, android-cursoradapter, android-listview, listview, simplecursoradapter
Solution
If CursorDemo extends CursorAdapter, then you have to use `adapter.swapCursor(cursor_update);`
That should swap the old cursor out for the new one and reload the data. With `swapCursor`, the old cursor is not closed.
Problem
I have created a `ListView` using `CursorAdapter` . Now I am Trying to update the `ListView` and Refresh the value to the ListView . But I am not able to figure out . How to work with `Loader` or `changeCursor()` to refresh my `ListView` Below is My code of setting the `CursorAdapter` : //SucessFully done here ``` SQLDataSore datastore = new SQLDataSore(PrintContent.this); Cursor cursor = datastore.getJSONData(); final CursorDemo cursorDemo = new CursorDemo(PrintContent.this, cursor); list_View.setAdapter(cursorDemo); ``` My `Button` `onClick` I am updating the Value into the Database //SucessFully Done ``` btn_check.setOnClickListener( new OnClickListener() { @Override public void onClick(View view ) { String editTextValue = edit_check.getText().toString(); if (editTextValue!=null) { SQLDataSore sqlDataSore = new SQLDataSore(PrintContent.this); Cursor cursor_update = sqlDataSore.updateData(editTextValue); //Here How Should I update my ListView ...? } } ``` My UpdateData Method: ``` public Cursor updateData(String editContent){ SQLiteDatabase updateContent = getReadableDatabase(); Cursor cursor_update = updateContent.rawQuery( "update " +TABLE_NAME + " set content = '"+ editContent +"' "+" where _id = 357", null); return cursor_update; } ``` CursorDemo Class ``` public class CursorDemo extends CursorAdapter{ public CursorDemo(Context context, Cursor c) { super(context, c , false); // TODO Auto-generated constructor stub } @Override public void changeCursor(Cursor cursor) { // TODO Auto-generated method stub super.changeCursor(cursor); } @Override public void bindView(View view, Context context, Cursor cursor) { // TODO Auto-generated method stub TextView txt_content = (TextView) view.findViewById(R.id.txt_content); TextView txt_likes_count = (TextView) view.findViewById(R.id.txt_likescount); TextView txt_name = (TextView) view.findViewById(R.id.txt_name); TextView txt_display_name = (TextView) view.findViewById(R.id.txt_display_name); txt_content.setText(cursor.getString(cursor.getColumnIndex("content"))); } @Override public View newView(Context context , Cursor cursor, ViewGroup viewGroup) { // TODO Auto-generated method stub LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(R.layout.message_row_view, viewGroup ,false); return view; } } ``` Any Help is Appreciated... });