콘텐츠 관찰자를 사용하고 있습니다. onQuery에서 setNotificationUri를 사용하여 uri를 등록했습니다. bulkInsert/insert 메서드에서 notifyChange 메서드 호출을 추가했습니다. bulkInsert 또는 insert 후 CursorLoader.onLoadFinished 메서드가 호출됩니다. onLoaderFinished 메소드 내부에서 : adapter.swapCursor도 호출 중입니다. 그러나 CursorAdapter newView/getView가 호출되지 않습니다. CursorAdapter 내에서 getCount 메서드도 재정의합니다. 나는 커서 카운트를 얻을 수있다. 도와주세요. 미리 감사드립니다. CursorAdapter newView/BindView가 호출되지 않습니다.
MainActivity onCreate contains:
mGridView = (GridView) findViewById(R.id.grid_view);
mMovieCursorAdapter = new MoviesCursorAdapter(this, null, 0);
mGridView.setAdapter(mMovieCursorAdapter);
getSupportLoaderManager().initLoader(MOVIE_LOADER, null, this);
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
Uri uri = MovieContract.MovieEntry.CONTENT_URI;
return new CursorLoader(this, uri, null, null, null, null);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
mMovieCursorAdapter.swapCursor(cursor);
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
mMovieCursorAdapter.swapCursor(null);
}
In ContentProvider query() method:
retCursor.setNotificationUri(getContext().getContentResolver(), uri);
**In bulkInsert() method:**
getContext().getContentResolver().notifyChange(uri, null);
더 많은 코드와 세부 정보를 공유 할 수 있습니까? –