• 20-11-2021, 20:00:17
    #1
    import 'package:flutter/material.dart';
    import 'package:shared_preferences/shared_preferences.dart';

    class canliSonuc extends StatefulWidget {
    const canliSonuc({Key key}) : super(key: key);

    @override
    _canliSonucState createState() => _canliSonucState();
    }

    class _canliSonucState extends State<canliSonuc> {

    Future<List<Widget>> getAllPrefs(BuildContext context) async {
    final SharedPreferences prefs = await SharedPreferences.getInstance();
    prefs.getKeys().where((String key) => key != "lib_cached_image_data" && key != "lib_cached_image_data").map<Widget>((key) {
    return ListTile(
    title: Text(key),
    subtitle: Text(prefs.get(key).toString()),
    );
    }).toList(growable: false);
    }

    @override
    Widget build(BuildContext context) {
    return getAllPrefs();
    }
    }

    Yukarıdaki kodda getAllPrefs(); kodunun altını çiziyor ve kabul etmiyor. return kaldırdığım zaman düzeliyor ama ekran çıktısı olarak hata veriyor. koddaki sorun nedir acaba?
  • 20-11-2021, 20:08:45
    #2
    merhaba hocam, buildcontext içerisinde future kullanamazsınız maalesef, future kullanacaksınız futurebuilder ile kullanmanız lazım
  • 20-11-2021, 20:28:58
    #3
    Aslında SharedPreferences ile kaydettiğim key ve value değerlerini alt alta listelemek istiyorum bir türlü yapamadım. Bildiğiniz yöntem varsa yardımcı olabilirsiniz.
  • 20-11-2021, 22:25:20
    #4
    PHP & Flutter & Laravel
    Build fonksiyonu içerisinde FutureBuilder kullanın getAllPrefs fonksiyonunu FutureBuilder de kullanmanız gerekiyor direkt build fonksiyonu içerisinde değil.