第三活动的捆绑商品为空

时间:2018-11-01 11:35:27

标签: java android bundle

hi im使用bundle将字符串从我的MainActivity传递到我的第二个活动(sub genre)。但是我在第三次活动中也需要相同的字符串。

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

     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);

然后我在第二个活动中使用

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

这很好用,但是如果我尝试在我的第三次活动中调用它,它将在我的日志中返回一个错误,即我的firebase child(Genre)cant be null

我已经通过在第二个活动中制作一个新的捆绑包来解决该问题,该捆绑包会重新收集字符串以传递给我的第三个活动。但这样做的方式有点混乱。有没有更容易/更好的方法来将字符串传递给任何活动?

1 个答案:

答案 0 :(得分:1)

您可以从第二个活动中的上一个活动中获取整个捆绑软件,并只需使用 putExtras()

进行设置即可
Bundle old = getIntent().getExtras();
Intent thirdActivity = new Intent(this,thirdActivity.class);
thirdActivity.putExtras(p);