0

如何从 2 接收值Activities(传递数据)?

我有 3 个活动ActivityOne,,,,ActivityTwoActivityThree我想从ActivityOnetoActivityThreeActivityTwoto发送值(传递数据) ActivityThree

中的所有数据都ActivityThree不会被破坏,因此所有来自ActivityOneActivityTwo任何中的值数据ActivityThree。来自ActivityOne保存临时变量的数据和来自保存临时变量的ActivityThree数据。所以我可以一起显示所有的值数据,ActivityTwoActivityThreeActivityOneActivityTwoActivityThree

我可以做SharedPreferences吗?如果是,任何人都可以提供一个例子吗?

4

2 回答 2

1

使用 SharedPreferences 不是一个坏主意,但您的要求是暂时的。所以最好使用Bundle Extras。获取 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);

检索捆绑包并在第三个活动中使用它

于 2012-12-02T07:32:16.193 回答
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());   
于 2012-12-02T07:36:47.837 回答