Я пытаюсь сохранить счетчик общих предпочтений, чтобы отслеживать массив в моем приложении. Ошибка, с которой я столкнулся, заключается в том, что я возвращаю значение Future и пытаюсь использовать его для определения индекса массива.
Вот код:
var titles = [];
Future<int> getCounter() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
int currentCount = prefs.getInt('counter');
print('Current Count: $currentCount');
return currentCount;
}
getValue() async {
final value = await getCounter();
return value;
}
Widget _displayPage()
{
int index = getValue();
titles[index] = 'text';
return ListView.builder(
itemCount: 1,
itemBuilder: (BuildContext context, int index) {
assert(context != null);
return new ListTile(
title: Text('Temp Text'),
onTap: () async {
//getCounter();
}
);
}
);
}
Когда я пытаюсь построить на этой странице я получаю точную ошибку: «Type Future не является подтипом int»
Что я пробовал: 1. Как и в приведенном выше коде, я попытался сделать несколько функций, чтобы преобразовать его в обычный int 2. Я пробовал использовать возвращаемое значение getCounter () непосредственно в определении индекса массива, например:
titles[getCounter()] = 'text