Приложение работает нормально, но когда приложение запускается, этот экран внезапно появляется и исчезает - PullRequest
0 голосов
/ 05 мая 2020

Я думаю, что проблема вызвана следующей функцией, которая должна изменить фон функции. Как я могу это решить?

_decidebg(){
   if(_counter==0){
     return AssetImage("assets/1.jpg");
   }
   else if(_counter<3){
     return AssetImage("assets/2.jpg");
   }
   else if(_counter<=6){
     return AssetImage("assets/3.jpg");
   }
   else{
     return AssetImage("assets/4.jpeg");
   }
 }

Screenshot

Ответы [ 2 ]

1 голос
/ 05 мая 2020

Проблема возникает из-за того, что вы получаете значение после чтения чего-либо с диска. И чтение с диска занимает несколько миллисекунд. К этому времени значение переменной _counter останется нулевым, и тогда он покажет красный экран.

Чтобы решить проблему, инициализируйте _counter со значением, скажем, -1 (или что-то еще, что работает с logi c). И оберните назначение в setState (). Итак, что-то вроде:

От:

_counter = await _______ ;

Кому:

int _counter = -1;
...
...
setState() => _counter = await _______ ;
1 голос
/ 05 мая 2020

Вы получаете сообщение об ошибке, потому что переменная _counter равна null.

Вы можете решить эту проблему, задав значение по умолчанию для переменной _counter.

Надеюсь, это ответит. ваш вопрос.

...