我的问题更多的是讨论如何重新构建我的项目,或解决这种情况。
我有以下架构: 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 永远不会被调用,我猜是因为即时通讯使用嵌套活动,所以结果会丢失。
所以我有两个问题:
即使不是最好的方法(活动 - >活动 - >活动),我怎么能解决这个问题呢?
构建这种情况的最佳方法是什么?我需要在所有Tabs活动中保持状态,我可以通过活动(现在的方式)来做到这一点。
答案 0 :(得分:0)
好吧,如果你想打开第三个活动,你可以只使用startActivity()
一些参数,以便知道一切都是正确的。您是否有任何特殊原因要在第三项活动中使用onActivityResult()
而不从该第三项活动中调用startActivityForResult(...)
?