2017-01-13 28 views
-3

如果我得到的值30 而不是写的Android - 的方式来传递数据,而不意图

活动1的:

Intent i = new Intent(this, Activity2); 
i.putExtras("number", 30); 

活动2:

Intent i = getIntent(); 
int number = i.getStringExtras("number"); 
i.putExtras("number", 30); 
i = new Intent(this, Activity3); 

活动3:

Intent i = getIntent(); 
int number = i.getStringExtras("number"); 
i.putExtras("number", 30); 
i = new Intent(this, Activity4); 

等等,哟你明白了。原因是需要将某些值传递给活动1,然后在完成活动1时,使用这些值移至活动2。

是否有某种我可以拨打的Universal Intent商店?

+0

为什么不使用'SharedPreference'而传递相同的值后获得的ActivityN数据几乎在你的活动?你也可以使用静态变量(虽然在处理不当的时候有问题)。 – Enzokie

+1

如果您希望在应用程序关闭后仍然维护该值,请使用SharedPreference。如果你只是需要它来保持应用程序打开时的值,那么静态值就可以。 – kggoh

回答

0

使用SharedPreference会擅长这种情况下:

保存数据

SharedPreferences pre = getSharedPreferences("share_preference_file_name", MODE_PRIVATE); 
SharedPreferences.Editor edit=pre.edit(); 
edit.putInt("number", 30); 
edit.commit(); 

Intent i1 = new Intent(this, Activity2.class); 
startActivity(i1); 

的onCreate()

SharedPreferences pre = getSharedPreferences("share_preference_file_name", MODE_PRIVATE); 
SharedPreferences.Editor edit=pre.edit(); 
edit.getInt("number", 0); // 0 is a default number if no value on given key