0

im trying to save the value of a textEditing controller in sharedPrefrences, im saving the value of it as a string, but later i don't know how to retrieve the value of the string and set it back to the textEditingController ,, here's my code:

  void saveSubmitScreenPrefs(String phone, String number, String neighborhood,
      String houseNumber, String streetNumber) async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    prefs.setString("phone", phone);
    prefs.setString("number", number);
    prefs.setString("neighborhood", neighborhood);
    prefs.setString("houseNumber", houseNumber);
    prefs.setString("streetNumber", streetNumber);

    print("saved the sumbit fields!");
  }

  void loadSubmitScreenPrefs() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    nameController = prefs.get("name").;
    phoneNumberController = prefs.get("phone");
    neighborhoodController = prefs.get("neighborhood");
    streetNumberController = prefs.get("streetNumber");
    houseNumberController = prefs.get("houseNumber");
    notifyListeners();
  }
azheen
  • 897
  • 4
  • 15
  • 30

2 Answers2

0

You can achieve this by using controller text

   final TextEditingController textFieldController = TextEditingController();

    @override
    void initState() {
      super.initState();
      initialFormValues();
    }

    // set value in textfield  
    Future<void> initialFormValues() async {
        myNameController..text =  await Network.getValueFromStorage("name") ?? "";
    }
Bassam Seydo
  • 488
  • 6
  • 11
0

i fixed it using this:

  void loadSubmitScreenPrefs() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    nameController = TextEditingController(text: prefs.get("name"));
    phoneNumberController = TextEditingController(text: prefs.get("phone"));
    neighborhoodController =
        TextEditingController(text: prefs.get("neighborhood"));
    streetNumberController =
        TextEditingController(text: prefs.get("streetNumber"));
    houseNumberController =
        TextEditingController(text: prefs.get("houseNumber"));
    notifyListeners();
  }
}
azheen
  • 897
  • 4
  • 15
  • 30