如何从2 Activities
接收值(传递数据)?
我有3个活动,ActivityOne
,ActivityTwo
,ActivityThree
。我想将值{(传递数据)从ActivityOne
发送到ActivityThree
,将ActivityTwo
发送到ActivityThree
。
ActivityThree
中的所有数据都不会被销毁,因此ActivityOne
和ActivityTwo
中的所有值数据都会在ActivityThree
中被删除。来自ActivityOne
的{{1}}中的临时变量和来自ActivityThree
的数据中的数据也会保存ActivityTwo
中的临时变量。因此,我可以同时显示ActivityThree
中ActivityOne
和ActivityTwo
的所有值数据,
我可以ActivityThree
吗?如果是,可以任何人提供一个例子吗?
答案 0 :(得分:1)
使用SharedPreferences并不是一个坏主意,但您的要求是暂时的。所以你最好使用Bundle Extras。获取Bundle对象并通过bundle将所有第一个活动变量传递给Second Activity。从意图中检索包并将第二个活动变量放在同一个包中,并将其传递给第三个活动。检索第三个活动中的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);
检索捆绑包并在第三个活动中使用它
答案 1 :(得分:0)
如果您使用共享偏好,
//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());