
Так вот. Быстрое решение - заново перезапустить вашу Activity (при условии, что она не держит какие-то важные "рабочие" потоки)!
Решение, подсмотренное на ресурсе stackoverflow.com
Конечно же, не рекомендуется постоянно вести такую практику. Акция скоре одноразовая, желательно, чтобы вы заменили это другим кодом, а вашу архитектуру пересмотрели и переписали как более понятную и чистую.
Итак, быстрый и малозатратный по ресурсам устройства способ перезапуска Activity:
private void reload(int x, ... ВАШИ ПАРАМЕТРЫ)
{
Intent intent = getIntent();
intent.putExtra(Работаем с объектом Intent);//1
intent.putExtra(Работаем с объектом Intent);//2
intent.putExtra(Работаем с объектом Intent);//3
overridePendingTransition(0, 0);//4
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);//5
finish();//6
overridePendingTransition(0, 0);//7
startActivity(intent);//8
}
Комментарии к коду:
В 1-3 строчках (пронумерованы условно в теле метода) мы работаем с объектом Intent, который запустит наш новый экземпляр такой же Activity. Строки 4-7 убирают всяческие переходы, анимацию и красоту. Таким образом, для пользователя будет отображаться как бы старая форма, что и была, но данные в ней будут новые! Никаких переходов, анимаций, перекидываний, вычислительные ресурсы на это не тратятся. Чудесно.
Вызываем данный метод из Activity, когда желаем обновиться.
Casino site, casino site for all of your favourite UK casino games
ОтветитьУдалитьCasino site, casino site for all your favourite UK casino luckyclub.live games · Lucky Club Casino · BONUS: 100% first deposit bonus up to · Big Time Gaming