我的问题更多的是讨论如何重新构建我的项目,或者解决这种情况。onActivityResult - 使用嵌套活动
我有以下架构: MainActivity,带有TabHost,加载每个现有选项卡的活动。所以,第一个选项卡IM通话/打开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永远不会被调用,我猜是因为即时通讯使用嵌套活动,所以结果会丢失。
所以我有2个问题:
即使它不是最好的方法(活动 - >活动 - >活动)我怎么能解决这个问题?
构建这种情况的最佳方式是什么?我需要保持所有Tabs活动中的状态,并且我可以通过活动(现在的方式)来实现这一点。
调用startActivityForResult()和onActivityResult()的活动是第二个活动。 – Bugdr0id
然后只需使用'setResult(Activity.Result_OK); finish();'如果你正在回到前一个活动,你不需要这个意图。 – zozelfelfo
,但onActivityResult()方法永远不会被调用。 – Bugdr0id