android - 如何在一个片段中收集数据并将其显示在 android studio 的另一个片段中,我正在使用共享首选项来执行此操作
问题描述
这是我在一个片段中创建的用于存储我的价值的功能,
private fun nickdata(){
val sharedPreferences = getSharedPreferences("sharedPrefs", Context.MODE_PRIVATE)
val nicdat = binding.nickname.text.toString()
val editor = sharedPreferences.edit()
editor.putString("Nickname_key","trial")
editor.apply()
editor.commit()}
下面是我用来在另一个片段中获取数据的代码
val pref = activity!!.getPreferences(Context.MODE_PRIVATE)
val id = pref.getString("Nickname_Key", "trial")
binding.nickdata.text = id
在输出中,我得到的是 def 值的“试用”。
解决方案
确保您在两个片段中使用相同的共享首选项。
此外,您所做的是您存储了价值试用而不是您想要发送另一个片段的价值。
val sharedPreferences = activity!!.getSharedPreferences("sharedPrefs", Context.MODE_PRIVATE)
val nicdat = binding.nickname.text.toString()
val editor = sharedPreferences.edit()
editor.putString("Nickname_key",nicdat)
editor.apply()
editor.commit()
对于另一个片段
val pref = activity!!.getSharedPreferences("sharedPrefs", Context.MODE_PRIVATE)
val id = pref.getString("Nickname_Key", "trial")
binding.nickdata.text = id
推荐阅读
- java - 运行 Dockerfile 时出现错误
- mysql - 插入 json 列时出错,而文档包含 json_string 作为 mysql 5.7 中的值
- x86 - 为什么 objdump 将美元符号放在某些地址之前?
- python - python中的位置参数与数据透视表不匹配
- regex - 正则表达式将一行中的第一个小写字符替换为大写
- jenkins - 白名单方法中的 Jenkins RejectedAccessException
- spring-boot - 带有 java 11 throws 的 Spring Boot 多模块项目无法访问类 org.springframework.cglib.core.ReflectUtils
- ios - 为什么在我的 iOS 应用程序中尝试调用谷歌地图时出现“错误域 = NSURLErrorDomain 代码 = -1004“无法连接到服务器。”错误?
- javascript - 如何将渲染的 pdf(从 html 生成)保存到我的计算机?
- google-sheets - 通过在 Google 表格中添加新行来复制列