java - 无法通过 Android 中的 SharedPreferences 保存数据
问题描述
textView
当我再次打开应用程序时,我无法保存数据我在 textview 中遇到错误:
错误信息字段 XXXXX 应该是数字
我认为它没有保存任何数据,或者我使用了不正确的方法。先感谢您!
class MyJavaScriptInterface {
@JavascriptInterface
@SuppressWarnings("unused")
public void processHTML(final String html) {
myWebView.post(new Thread() {
@Override public void run() {
TextView text = findViewById(R.id.textView);
if(!sharedPreferences.contains("statusKey")){
sharedPreferences = getSharedPreferences("prefID", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("statusKey", html);
editor.apply();
text.setText(html);
}
else {
text.setText(sharedPreferences.getString("statusKey", ""));
}
}
});
}
}
解决方案
class MyJavaScriptInterface {
@JavascriptInterface
@SuppressWarnings("unused")
public void processHTML(final String html) {
myWebView.post(new Thread() {
@Override public void run() {
TextView text = findViewById(R.id.textView);
sharedPreferences = getSharedPreferences("prefID", Context.MODE_PRIVATE);
if(!sharedPreferences.contains("statusKey")){
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("statusKey", html);
editor.apply();
text.setText(html);
}
else {
text.setText(sharedPreferences.getString("statusKey", ""));
}
}
});
}
}
试试上面的代码
推荐阅读
- port - 如何让 Apache Zeppelin/Shiro 在不同的端口(不是 8080)上工作?
- python - Pandas:将小时添加到时区感知索引
- javascript - jQuery 隐藏/显示只是瞬时的,我怎样才能让它们与我的轮播一起过渡?
- git - 如何使用子树将项目克隆到现有目录
- python - 我们可以使用没有目标变量的聚类吗?
- ruby-on-rails - 如何使用 ruby 在 Google big Query 中设置/更新表的过期时间
- node.js - 这是一个 api 或一个路由或一个端点或只是 nodejs 应用程序中的一个 get 方法?
- vue.js - 访问组件上的页面数据
- slack-api - 将命令请求重定向到另一个服务
- django - 谁能解释为什么这会给出错误 django url 模式