第三个 activity 中的捆绑包为空

Bundle is null from third activity

嗨,我正在使用 bundle 将字符串从我的 MainActivity 传递到我的第二个 activity,这是子流派。但我的第三个 activity 中也需要相同的字符串。

我在主要活动中使用这样的代码

     Bundle getGenre_Bundle = new Bundle();
            if (genre.equals(selector.Crime)) {
             Intent i = new Intent(getBaseContext(),Crime.class);
                getGenre_Bundle.putString("crime",selector.Crime);
                i.putExtras(getGenre_Bundle);
                startActivity(i);

然后我在第二个 Activity 中使用

调用它
 Bundle p = getIntent().getExtras();
    Genre = p.getString("crime");

这很好用,但是如果我尝试在我的第三个 activity 上调用它,它 returns 我的日志中的一个错误,我的 firebase child(Genre)cant be null.

我已经通过在我的第二个 activity 中制作一个新的包来解决这个问题,它重新收集要传递给我的第三个 activity 的字符串。但这样做有点混乱。有没有 easier/better 方法可以将字符串传递给任何 activity?

您可以在第二个 activity 中从之前的 activity 中获取整个包,然后只需使用 putExtras()

设置意图
Bundle old = getIntent().getExtras();
Intent thirdActivity = new Intent(this,thirdActivity.class);
thirdActivity.putExtras(p);