我怎样才能在两个活动之间传递价值

时间:2013-02-19 14:13:53

标签: android android-intent bundle

我正在尝试像备忘录一样编写应用程序。 首先是A_activity中的listView。 我有第二个名为B_activity的活动来做备忘录。 我在A_activity中放了一个按钮并用它来添加备忘录。 所以,我使用intent将A_activity切换为B_activity。

现在问题是:
我使用相同的方法将B_activity切换回A_activity,并使用存储值的bundle。 我想结果是listView会添加一个我刚创建的备忘录,旧的备忘录将保留。 但都失败了。 我知道怎么做,但不知道如何编写代码。 有人可以给我一些例子吗?

2 个答案:

答案 0 :(得分:3)

在将数据传递给listView之前的A活动中检查bundle是否为null。

前 -

Bundle bundle = getIntent().getExtras();
if(bundle != null)
{
    // pass your values to listview
} else {
    return;
}

而是使用startActivityForResult();这种操作的方法。

答案 1 :(得分:1)

如果我理解正确,你将Intent从A发送到B,并在一些逻辑后将Intent从B发送到A,然后多次执行。如果我很严格,这是非常糟糕的方法。您的活动堆栈将被填充,后退按钮将无法正常工作。我认为你应该使用A中的startActivtyForResult()和B中的setResult()。我希望我是对的。通过这种方式,您可以将Bundle从A传递到Intent并将Bundle返回到onResult();

祝你好运!