#flutter #dart #flutter-sharedpreference
#трепетать #дротик #флаттер-совместное использование
Вопрос:
Futurelt;voidgt; loadFavorite() async{ SharedPreferences prefs = await SharedPreferences.getInstance(); setState((){ FavoriteButtons = (prefs.getStringList("favorite4") ?? lt;boolgt;[]).map((value) =gt; value == 'true').toList(); }); }
Как и выше, используйте общий доступ для локального хранения списка bool.
Однако, если вы создадите код, как указано выше, при первом подключении список будет пуст с []. (Потому что вы еще ничего не сохранили в prefs.getStringList(«избранное 4»))
Я получаю ошибку здесь, потому что я должен использовать кнопки избранного[1]. Я нашел способ решить эту проблему. Это просто использование ошибки проверки на нуль, чтобы ваш код останавливался на полпути только при первом запуске. В результате тестирования никаких проблем с использованием приложения не возникло. Однако мне интересно, возникнут ли какие-либо проблемы во время развертывания или фактического использования в будущем.
E/flutter (13880): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Null check operator used on a null value
Комментарии:
1. Не совсем понятно, что вы делаете, когда говорите «Используя ошибку проверки на нуль». Можете ли вы показать код, о котором вы спрашиваете?
2. Проблема в другом. Не в данной части кода. И да, необработанное исключение-это нехорошо.
3. Добавлено ! в преф.getStringList(«избранное 4»)!