onActivityResult - 使用嵌套活动

时间:2014-04-02 10:36:26

标签: android android-activity nested onactivityresult

我的问题更多的是讨论如何重新构建我的项目,或解决这种情况。

我有以下架构: MainActivity ,使用TabHost,为每个现有标签加载活动。因此,对于第一个调用/打开 FirstTabActivity 的标签,此FirstTabActivity调用另一个名为 GalleryPickActvity

的活动(以选择一些照片)

这是我有: 的 FirstTabActivity

Intent intent = new Intent(CreateCommentsActivity.this, SelectPicturesActivity.class);
startActivityForResult(intent, 1);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    super.onActivityResult(requestCode, resultCode, data);

    Log.i("TAG", "onActivityResult");    
}

GalleryPickActvity

Intent intent = new Intent(GalleryPickActvity.this,
                            FirstTabActivity.class);
setResult(Activity.RESULT_OK, intent);
finish();

方法: onActivityResult 永远不会被调用,我猜是因为即时通讯使用嵌套活动,所以结果会丢失。

所以我有两个问题:

  1. 即使不是最好的方法(活动 - >活动 - >活动),我怎么能解决这个问题呢?

  2. 构建这种情况的最佳方法是什么?我需要在所有Tabs活动中保持状态,我可以通过活动(现在的方式)来做到这一点。

1 个答案:

答案 0 :(得分:0)

好吧,如果你想打开第三个活动,你可以只使用startActivity()一些参数,以便知道一切都是正确的。您是否有任何特殊原因要在第三项活动中使用onActivityResult()而不从该第三项活动中调用startActivityForResult(...)