从活动A到B再回到A android

时间:2011-06-06 17:15:45

标签: android

我已经阅读了很多但仍然没有得到我的完整答案。 启动应用程序A时,在onCreate方法中,我从Api获取数据并在ListView上设置。 这里我也有按钮,当我点击它时,我将进入活动B并发送一些数据。 在我的B活动中,我将数据发送到我的api,如果响应状态正常,我想回到活动A并重新加载数据:调用oncreate方法将我的调用函数定位到api。 在我的清单中,我已经设定了  <activity android:name=".A" android:launchMode="singleInstance" ></activity>

但是当我调用startActivity时:

Intent i = new Intent(B.this,A.class);
              Bundle b = new Bundle();
              String from = "upload";
              b.putString("action", from);
              startActivity(i);

我没有从onCreate点开始激活A. 我在去活动B之后已经尝试过调用finish()函数,但这并没有得到我的任何结果。 我想在A活动中附加一个我从gallery获取文件并将uri传递给活动B.

感谢。

2 个答案:

答案 0 :(得分:3)

如果您想要开始一项旨在接收结果的子活动,请不要使用startActivity()。请改用startActivityForResult()。您还需要在主活动中实现(覆盖)一个方法,以便在结果准备好时调用。

答案 1 :(得分:0)

如果您想返回A,onCreate之后需要在{A}中拨打finish()startActivity(B)。这样,当您返回A(因为它被销毁)时,onCreate将再次被调用。

请注意,这不是处理事情的好方法。一种更好的方法是将“从Api获取数据”部分移动到活动A中的onResume

后期编辑:事实上,startActivityForResult()是在这种情况下的方式,不需要过于复杂的事情。自我注意:从现在开始,选择更简单的路线。