Android 我可以从2个具有SharedReferences的活动中接收价值数据吗
如何从2Android 我可以从2个具有SharedReferences的活动中接收价值数据吗,android,sharedpreferences,Android,Sharedpreferences,如何从2活动中接收值(传递数据) 我有三个活动,活动一,活动二,活动三。我想将值(传递数据)从ActivityOne发送到ActivityThree,并将ActivityTwo发送到ActivityThree ActivityThree中的所有数据都不会被销毁,因此ActivityOne和ActivityThree中的任何值数据都不会被销毁。来自ActivityOne的数据保存在ActivityThree中的临时变量,来自ActivityTwo的数据也保存在ActivityThree中的临时变量
活动中接收值(传递数据)
我有三个活动,活动一
,活动二
,活动三
。我想将值(传递数据)从ActivityOne
发送到ActivityThree
,并将ActivityTwo
发送到ActivityThree
ActivityThree
中的所有数据都不会被销毁,因此ActivityOne
和ActivityThree
中的任何值数据都不会被销毁。来自ActivityOne
的数据保存在ActivityThree
中的临时变量,来自ActivityTwo的数据也保存在ActivityThree
中的临时变量。因此,我可以在ActivityThree
中同时显示ActivityOne
和ActivityTwo
中的所有值数据
我可以做共享参考吗
?如果是,有谁能提供一个例子吗?使用SharedReference不是一个坏主意,但您的要求是暂时的。所以你最好使用Bundle-extra。获取Bundle对象并通过Bundle将所有第一个活动变量传递给第二个活动。从intent中检索bundle,将第二个活动变量放在同一个bundle中,并将相同的变量传递给第三个活动。在第三个活动中检索捆绑包并使用它们。我希望这对你有帮助
Bundle b = new Bundle();
b.putString("name","value");
b.putInt("name1",9);
Intent i = new Intent(FirstActivity.this, SecondActivity.class);
i.putExtras("bundle",b);
startActivity(i);
在第二个活动中检索
Bundle b = getIntent().getBundleExtra("bundle"):
b.putString("namein2",value);
b.putInt("nameIntin2",8);
Intent i = new Intent(SecondActivity.this,ThirdActivity.class);
i.putExtras("bundle",b);
startActivity(i);
检索捆绑包并在第三个活动中使用它如果使用共享首选项
//Get shared preference
SharedPreferences prefs = this.getSharedPreferences("ANY_NAME_TO_IDENTIFY", Context.MODE_PRIVATE);
//To set value
pref.edit().putString("NAME", "Simone").commit();
pref.putLong("NUMBER", new Date().getTime());
//To get value
pref.getString("NAME", "Put_any_default_value");
pref.getLong("NUMBER", new Date().getTime());
当然,共享首选项始终是一个选项:。但是从表面上看,你似乎在寻找意图的工作:但是在活动中填充值1继续活动2,我想免费填充值,第一个活动1或活动2没有问题,嘿,根据你的问题,上面的答案是正确的,我不理解你的评论我的意思,我从Activity1或Activity2中填充值是免费的,我可以选择第一个填充Activity1或Activity2。因为我制作了进入Activity1或Activity2的菜单。很抱歉,我英语不好。因为当我填写Activity1并在Activity2中继续,然后在Activity3中继续时,我想自由进入Activity1、Activity2或Activity3。不管我做什么菜单,我终于明白你的要求了。您希望在屏幕之间自由导航。好的,那么你也可以在开始其他活动时使用上述概念。平静地思考我说的概念,然后你会有一个想法。您可以重写这些值,因为捆绑包中的键将保持唯一。