捆绑值问题

时间:2011-04-07 04:23:21

标签: android

我有3个活动A,B和C.活动A包含一个项目列表。当我们单击活动A中的一行时,它会调用活动B来描述该项目。在活动B中,我有另一个清单。当我点击其中的一行时,它会调用活动C.

我必须将id字段从A传递到B然后传递给C.

假设我有值

Small
Medium
活动A中的

我从这里点击Small然后转到活动B然后转到C.一切正常。在整个活动中,id通过也是正确的。

现在从C,我点击手机的后退按钮然后转到B然后点击手机的后退按钮并转到A.

现在我点击列表中的Mediumid已正确传递给B.但是当我到达C时,它不会转到onCreate()而是onResume()。在那里,我获得了id作为Small的旧值{{1}}。但我想要正确的身份证明。这个问题可能是什么原因?有谁可以帮忙。提前谢谢。

3 个答案:

答案 0 :(得分:1)

我认为..当你在处理活动C中的activity按钮时,你必须完成back

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
           finish();
    }
   return super.onKeyDown(keyCode, event);
}

答案 1 :(得分:0)

出现问题是因为活动C不会被杀死,只会被暂停。

我还没有测试过,但我相当确定如果你通过Intent.putExtra传递数据,你应该得到你正在寻找的行为(我真诚地希望不同的额外数据会导致新的实例推出)

希望这有帮助,

Phil Lello

答案 2 :(得分:0)

根据我在android活动中的知识,当您按下后退按钮时(默认情况下)会被销毁。 我怀疑在活动之间传递数据时可能会出现问题。 但是如果你填写它仍然与活动有关并没有被破坏。您可以在onPause()方法中完成活动C.它将解决您的问题。