Android - ListView 갱신 with CursorAdapter.

Android 2016. 1. 18. 22:29 posted by TechNote.kr


ListView에 CursorAdapter를 연결해서 사용하게 될 경우 Database에 변화가 있을 경우 다시 select하여 해당 결과를 업데이트해주어야 한다.


이 때는 ListView를 건드릴 필요 없이, 중간의 매개체인 Adapter의 changeCursor를 호출해 주면 ListView가 갱신된다.


[developer.android.com 출처]

public void changeCursor (Cursor cursor)

Added in API level 1

Change the underlying cursor to a new cursor. If there is an existing cursor it will be closed.

Parameters
cursorThe new cursor to be used



실제 코드 구현은 아래와 같이 해주면 된다.

새롭게 넘어온 Cursor 결과를 changeCursor의 인자로 넘겨주면 된다.

private SimpleCursorAdapter m_Adapter;
private MemoSQLiteOpenHelper helper;
private Cursor c;

c = helper.select();
m_Adapter.changeCursor(c);