android-studio - 将带有 SharedPreferences 的 double 发送到另一个活动
问题描述
我正在尝试将值从第一个活动发送到最后一个活动。经过一些计算(取决于用户的输入)值 a5 是示例 2500。我将它存储在一个字符串中并尝试发送它,但在其他活动中它总是给我一个值 100 而不是原来的 2500。
代码:第一个活动:
// After some calculation a5 is a 2500
double a5 = a1 / 30;
details.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String value = Double.toString(a5);
SharedPreferences sharedPref = getSharedPreferences("myKey", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("value", value);
Log.d("myTag", "Value: " + value); // this is correct and gives me the right value
openActivity3();
}
});
上次活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_details);
Textview= (TextView) findViewById(R.id.WarframeLvl);
SharedPreferences sharedPreferences = getSharedPreferences("myKey", MODE_PRIVATE);
String value = sharedPreferences.getString("value","");
Log.d("myTag", "TValue received: " + value); // I see a value of 100
Textview.setText(value); //The textview changes and gives me the number 100 instead of the correct number.
解决方案
SharedPreferences sharedPref = getSharedPreferences("myKey", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("value", value);
editor.commit();
您忘记调用保存功能。检查上面。
推荐阅读
- java - 如何修复:Anylogic 无法通过 Socket 连接到 Eclipse
- javascript - 如何更新动态 PHP 表的每一行
- javascript - 如何跳转到呈现的pdf页面
- javascript - 无法从嵌入式 html 访问按钮的 ID
- wordpress - 如何更改 wordpress 主题中标题的大小
- javascript - 如何使用布尔值检查 for 循环中是否正确满足条件?
- php - 如何分配一个来自 mysql 数据库的整数值以便在前端显示一个字符串?
- java - HPROF 每天进行转储
- reactjs - 如何在要测试的 React 组件中模拟自定义钩子?
- azure - 仅限注册页面的 Azure AD B2C 自定义策略