Итак, у меня есть Async Task, которая выполняет некоторую операцию в doInBackground, а затем в onPostExecute. После завершения я добавляю переменные в sharedpreferences. Я хочу использовать некоторые из этих значений, но они не обновляются. Мне нужно «обновить» свою деятельность, например, изменить ориентацию или что-то в этом роде. Похоже, что асинхронная задача выполняется в конце, даже после кода есть какой-то код.
По моей активности:
myAsyncTask.execute(location1);
System.out.println("Current_time: " + sharedPreferences.getString("CURRENT_TIME", ""));
В ASyncTask onPostExecute:
editor.putString("CURRENT_TIME", channel.getItem().getCondition().getDate());
Log.i("SetValues", "now");
editor.apply();
И результат:
I/System.out: Current_time: Mon, 30 Apr 2018 07:00 PM YEKT
I/SetValues: now
И я хочу завершить асинхронную задачу, а затем сделать отдых, поэтому сначала задайте «SetValues», а затем напечатайте.