如何为所有活动制作一个捆绑包?

时间:2014-11-11 02:02:12

标签: android android-activity

我将NavigationDrawer用于活动。并且所有活动都通过实现NavigationDrawer及其基本功能的根活动进行扩展。我有许多不同的活动,我想在saveInstanceState中,我想在Bundle中存储数据。

以下是示例: 我有活动A,B 我在A中做了一些改动,而不是startActivity(B)!我猜A在开始B之前在一些Bundle中保存了它的状态。我想将A的Bundle传递给B活动(我怎么能这样做?这是主要的问题)

现在我参加了B活动! 最后,我想以恢复的istance状态启动活动(A)。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

如果您想在活动之间发送数据,可以执行以下操作:

    Intent intent=new Intent(B.class);
    Bundle bundle=new Bundle();
    bundle.putString("myKey","MyValue");
    intent.putExtras(bundle);
    startActivity(intent);

并从活动B中检索该信息:

        Bundle bundle=getIntent().getExtras();

答案 1 :(得分:1)

您可以创建一个新的Bundle对象并输入要发送给Activity B的所有数据。 然后当你创建你的意图时,将这个包传递给它;

Bundle bundle = new Bundle();
bundle.putString("string_extra","Extra Data, String!")
Intent intent = new Intent(this,ActivityB.class);
intent.putExtra("bundle_extra",bundle);
startActivity(intent);

然后在ActivityB中,你可以调用它,

Bundle extraData = getIntent().getBundleExtra("bundle_extra");

获得捆绑后,您可以在ActivityB中抓取变量。