Вы получаете ноль, потому что метод load
является Future
, и вы не ждете его в вашем методе сборки.
Вы должны проверить, является ли _img
нулевым, и отобразить другой виджет, такой как Text или CircularProgressIndicator, если он:
Container(
child: _img ? Image.memory(_img.getBytes()) : Text('loading...'),
),
После этого вам нужно вызвать метод setState()
, чтобы перестроить ваш виджет в методе readFileAsync
:
setState() {
_img = I.decodeImage(bytes);
}