您好,我的应用程序中有 3 个活动,我使用 Intent 在它们之间传输数据。我遇到的问题是,当我从 3 活动返回到主要活动时,我在主要活动上的共享首选项发生了变化。我怀疑问题在于我的意图是重新启动,但我不确定。我试图让数据保持与我移动到 3 活动时的数据相同。我的应用程序从活动 1 开始,然后进入主要活动,最后如果您单击一个按钮,它会转到第三个活动,获取一些数据并返回到主要活动我遇到的问题是我从第一个活动中获得的数据当我从第三个活动返回时重新启动。当我在活动之间移动数据时,我使用意图。
我传输意图活动1的代码:
Bundle CIW = new Bundle();
CIW.putInt("one", int1);
CIW.putInt("two", int2);
CIW.putDouble("double", double);
Intent a = new Intent(Must.this, Main.class);
a.putExtras(CIW);
startActivity(a);
我的代码在我的主要活动中获取捆绑包(它在我的创建方法中):
Intent must = getIntent();
Intent name = getIntent();
Bundle CIW = must.getExtras();
Bundle card = name.getExtras();
int1 = CIW.getInt("one");
int2 = CIW.getInt("two");
double= CIW.getDouble("double");
int3 = card.getInt("three");
我的共享首选项代码(暂停):
SharedPreferences settings = PreferenceManager
.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = settings.edit();
editor.putInt("one", Int1); //the rest of the variable
editor.commit();
我的共享偏好代码(在简历上):
SharedPreferences settings = PreferenceManager
.getDefaultSharedPreferences(getApplicationContext());
int1 = settings.getInt("one", int1); //the rest of the variable
我传输意图活动 3 的代码:
Bundle number = new Bundle();
number.putInt("three", int3);
Intent a = new Intent(Card.this, Main.class);
a.putExtras(number);