有没有办法在flutter中更新静态方法

时间:2019-08-04 15:21:27

标签: flutter dart

我遇到了一个砖墙,试图更新我要显示的图像的文件路径。唯一的方法(到目前为止,我所看到的)是使用静态方法将路径作为字符串传递,但是其图像路径已存储,如果您要更改它,可以在以后更改。这是我到目前为止所拥有的

File  _bkimageFile = new File(look);


static var look = '/storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG- 
20190320-WA0009.jpg';

如果我尝试通过小部件传递值,则会显示错误消息

Only static members can be accessed in 
initializers.dart(implicit_this_reference_in_initializer)
The type of 'look' can't be inferred because it refers to an instance 
method, '_read', which has an implicit type.
Add an explicit type for either 'look' or 
'_read'.dart(strong_mode_top_level_instance_method)

我知道静态方法是在运行时首先构建的,但是我不确定我在做什么错。万一您想知道“ _read”是一个小部件,它看起来像这样。

_read() async {
        final prefs = await SharedPreferences.getInstance();
        final key = 'foo';
        final value = prefs.getString(key) ?? 0;
        print('read: $value');
      }

我知道该值存在,因为我在另一个屏幕上使用了该小部件,它会按原样返回值。

1 个答案:

答案 0 :(得分:0)

我能够通过将值通过var传递到

来解决此问题
FileImage(new File(_bar)),


_bar(
////some code
return foo
)