我的問題更多的是討論如何重新構建我的項目,或者解決這種情況。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