Согласно Документации Android , это потому, что SharedPreferences.getString(key, defValue)
может иметь значение null.
другими словами, getString(String, String)
из SharedPreferences
выглядит следующим образом.
@Nullable
String getString(String key, @Nullable String defValue);
Таким образом, даже если вы передали ненулевую строку, Котлин по-прежнему считает, что playerSharedPref!!.getString("name", "")
может быть нулевым.
Вы можете решить эту проблему, убедившись, что playerSharedPref!!.getString("name", "")
не равен нулю.
Решение:
положить !!
в конце playerSharedPref!!.getString("name", "")
, поэтому результат будет playerSharedPref!!.getString("name", "")!!
Надеюсь, это поможет!