我有2项活动。在“A”活动中,我有一个按钮。当用户单击此按钮时,在“B”活动中,长数据将发生变化。如果用户没有点击按钮长数据更改标准“61000”长数据。当我尝试关闭我的应用程序时......
活动代码;
SharedPreferences paylasim = getSharedPreferences("sure", MODE_PRIVATE);
SharedPreferences.Editor editor = paylasim.edit();
editor.putLong("veri", 31000);
editor.commit();
B活动代码;
SharedPreferences paylasim = getSharedPreferences("sure", MODE_PRIVATE);
long kalansure = paylasim.getLong("veri", 61000);
答案 0 :(得分:2)
虽然我不太明白你在问什么,但我想我之前遇到过类似情况。
首先,让我解释一下你的问题,
我尝试在ActivityA中保存一个long值,我想通过单击按钮在Activity B中检索它。但是当我点击按钮时,应用程序崩溃了。
当我第一次使用if(o.children.length > 0){
o.children.forEach((o)=>{
var t = traverse.down(o,a);
if (t) return t; // return the first element that matches. There might be more but we're ignoring them
});
// none were found
return false;
}
跨活动存储数据时,它甚至都没有保存数据!然后我找到了SharedPreferences
类,所以我使用了那个类,整个过程都有效。看看这是否适合你。
将内容放入SP,
PreferenceManager
获取东西,
PreferenceManager.getDefaultSharedPreferences(this).edit()
.putLong("someKey", someValue).apply();
其中PreferenceManager.getDefaultSharedPreferences(this)
.getLong("somekey", someDefaultValue);
是this
。
但是,如果您只想将某些数据从活动A传递到活动B,那么您实际上不需要将数据存储在Context
中。(我认为这是您实际想要的你需要在你创建的intent对象上调用SharedPreferences
来导航到Activity B:
putExtra
然后,在活动B中,重新获取内容:
Intent i = ...;
i.putExtra("someKey", someValue);
startActivity(i);
答案 1 :(得分:0)
如果你已经使用了" veri"用于存储其他类型数据的键(例如Integer)然后您将获得强制转换异常,您的应用将关闭。确保情况并非如此。
除此之外,你应该发布log cat输出。否则任何人说的只是一个猜测