Android: onCreate () вызывается несколько раз (и не мной)

Инструкции Real Java по опубликовали это решение, которое также совместимо с версиями до Java 1.6.

BigDecimal bd = new BigDecimal(Double.toString(d));
bd = bd.setScale(decimalPlace, BigDecimal.ROUND_HALF_UP);
return bd.doubleValue();

12
задан vaxquis 22 June 2015 в 12:06
поделиться

1 ответ

Подобный этому вопросу, где изменение ориентации заставляет устройство реконфигурировать:

перезапуск Действия на вращении Android

Мой предпочтительный ответ:

https://stackoverflow.com/a/11811999/3739540

Вместо того, чтобы пытаться остановить onCreate () от того, чтобы быть запущенным в целом, возможно, попытайтесь проверить Пакет savedInstanceState передаваемый в событие, чтобы видеть, является ли это пустым или нет.

, Например, если у меня есть некоторая логика, которая должна быть выполнена, когда Действие действительно создается, не на каждом изменении ориентации, я только выполняю ту логику в onCreate (), только если savedInstanceState является пустым.

Иначе, я все еще хочу, чтобы расположение перерисовало правильно для ориентации.

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_game_list);

    if(savedInstanceState == null){
        setupCloudMessaging();
    }
}
0
ответ дан 2 December 2019 в 18:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: