android - 我怎样才能为所有 Activity 制作一个 bundle ?

标签 android android-activity

我将 NavigationDrawer 与 Activity 一起使用。所有 Activity 都由实现 NavigationDrawer 及其基本功能的根 Activity 扩展。我有许多不同的 Activity ,我想在其中保存实例状态,我想将数据存储在 Bundle 中。

例子如下: 我有 Activity A、B 我在 A 中做了一些更改,而不是 startActivity(B)!我想 A 在启动 B 之前将其状态保存在某个 Bundle 中。我想将 A 的 Bundle 传递给 B Activity (我该怎么做?这是主要问题)

现在我在B Activity 中! 最后我想以恢复的状态启动 startActivity(A)。

我该怎么做?

最佳答案

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

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 中从中获取你的变量。

关于android - 我怎样才能为所有 Activity 制作一个 bundle ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26856302/

相关文章:

java - notificationDataSetChanged() 未在 gridview 中刷新

android - Google Analytics 的闪存卡应用程序用户性能?

android - fragment 如何从 parentActivity 获取数据?

java - Android:onTouchEvent启动新 Activity

android - 在 Android 上显示调试横幅

android - 是否可以使用 RxJava 2.x 使用 Zip 超过 2 个 Observables?

android - 渲染问题 @id/visible Android Studio

java - 重写 Android 函数以启动 Activity 而不是显示文本

android - 带有自定义 LayoutManager 的 RecyclerView 不显示滚动条

android - 正确扩展/覆盖库 Activity ,在新项目中有效地替换它?