Я использую Async Task для перезагрузки данных в моем списке и настраиваю индикатор выполнения в своей активности, чтобы показать, что он загружается.Но проблема в том, что если я начну новое действие и вернусь обратно, а загрузка не будет завершена, индикатор выполнения не будет отображаться.Как настроить индикатор выполнения для продолжения загрузки?И я забыл упомянуть, что после того, как я вернусь к занятию, асинхронная задача тоже не обновляет мой список.Вот код, который я использую:
public class MyCollectionsTask extends AsyncTask <Context, Integer, Void> {
@Override
protected Void doInBackground(Context... arrContext) {
JsonCollection jsonColl = new JsonCollection();
Log.e("","DO IN BACKGROUND");
for(int i=0; i<arrContext.length; i++) {
jsonColl.executeInsert(arrContext[i]);
}
return null;
}
@Override
protected void onProgressUpdate(Integer... progress) {
Log.e("","ON PROGRESS UPDATE");
for (int i=0; i<progress.length; i++){
progressBar.setProgress(i);
}
}
@Override
protected void onCancelled() {
Log.e("","ON CANCELLED");
progressBar.setVisibility(View.GONE);
sync.setImageResource(R.drawable.sync_icon2);
}
@Override
protected void onPreExecute()
{
Log.e("","ON PRE EXECUTE");
}
@Override
protected void onPostExecute(Void v) {
Log.e("","ON POST EXECUTE");
SystemDatabaseHelper newdbHelper = new SystemDatabaseHelper(MyCollectionList.this, null, 1);
newdbHelper.initialize(MyCollectionList.this);
String genresSQLforID = "SELECT DISTINCT g.genre_id AS genreID, gl.title AS Title " +
"FROM genres AS g, genre_lang AS gl " +
"WHERE gl.genre_id = g.genre_id AND gl.lang_code ='" + langCode + "'"+" ORDER BY gl.title";
Cursor genresCursor = newdbHelper.executeSQLQuery(genresSQLforID);
if (genresCursor.getCount() == 0) {
genresCursor.close();
} else {
genresCursor.moveToFirst();
GenID = Integer.parseInt(genresCursor.getString(genresCursor.getColumnIndex("genreID")));
}
getCollectionsForGenre(GenID);
final SharedPreferences isLogged = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = isLogged.edit();
editor.putBoolean("getProgBarCollection", false);
editor.commit();
progressBar.setVisibility(View.GONE);
sync.setImageResource(R.drawable.sync_icon2);
}
}