我将NavigationDrawer用于活动。并且所有活动都通过实现NavigationDrawer及其基本功能的根活动进行扩展。我有许多不同的活动,我想在saveInstanceState中,我想在Bundle中存储数据。
以下是示例: 我有活动A,B 我在A中做了一些改动,而不是startActivity(B)!我猜A在开始B之前在一些Bundle中保存了它的状态。我想将A的Bundle传递给B活动(我怎么能这样做?这是主要的问题)
现在我参加了B活动! 最后,我想以恢复的istance状态启动活动(A)。
我该怎么做?
答案 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中抓取变量。