0
조각의 Loader Manager 콜백에 대한 onLoadFinished 코드 줄이 있습니다. 이 코드의 문제점은 favoriteMovies가 ArrayAdapter에 표시되어야하므로 로그 문이 커서 또는 데이터가 비어 있지 않음을 보여주는 반면 영원히 이유는 무엇인지를 나타냅니다. 실제로() 메소드 setMovies를 호출하기 전에 완료 while 문 이리저리 대기하도록Loader Manager에서 onLoadFinished의 커서에서 데이터 추출
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
Log.i(TAG, "Loader Manager Loading Finished: " + data.getCount());
if (data != null && data.getCount() > 0) {
while (data.moveToNext()) {
favouriteMovies.add(
new Movie(
data.getString(2),
data.getString(3),
data.getString(4),
data.getInt(1),
data.getString(5),
data.getDouble(6),
data.getDouble(7)
));
}
setMovies(favouriteMovies);
hideLoadingProgress();
mAdapter.notifyDataSetChanged();
} else {
showEmptyView(EMPTY_VIEW_TYPE_LOCAL);
hideLoadingProgress();
}
}
어떻게 나는이 코드를 작성할 수 있습니다. 내 앱을 백그라운드에서 최소화하고 복원하면 동영상이 디코 플레이되지만 처음 호출 할 때 작동하지 않습니다.
' "코드의 문제는 favoriteMovies가 ArrayAdapter와에 표시 할 필요가 있다는 것입니다"'네 사실,이 문제가,'ArrayAdapter'가 Cursor' 기반 데이터 '를 처리 할 때 사용 해달라고, 'SimpleCursorAdapter' 대신에 (또는 다른'CursorAdapter') – pskink
당신이 맞습니다, 그러나 SimpleCursorAdapter는 모델에 매핑되어있는 개조를 사용하여 json으로 서버에서 가져온 데이터의 일부로 제공되지 않습니다. 그래서 두 개의 데이터 소스를가집니다. . – Po10cio
은'MatrixCursor'를 사용합니다. MergeCursor와 함께 사용하면됩니다. – pskink