簡體   English   中英

startActivityForResult 2如何從1個父Activity激活並在只有1個孩子被分裂時獲得onActivityResult

[英]How startActivityForResult 2 Activity from 1 parent Activity and get onActivityResult when only 1 child is finisched

我有3個活動:

  • 答:家長活動
  • B:第一個孩子活動
  • C:第二次兒童活動

在A活動中,單擊按鈕時,打開B活動。

Intent i = new Intent(this,  ActivityB.class);
startActivityForResult(i, 1); 

在一個活動中有一個可運行的對象,在某些情況下會打開C活動

Intent i = new Intent(this,  Activityc.class);
startActivityForResult(i, 2); 

所有工作和在設備上我都看到C活動超過B活動而不是A活動,但是當我用this.finish();關閉C活動時this.finish(); 在Activity中,不會觸發onActivityResult()事件。 僅當我也關閉B活動時,它才會被解雇。

關閉C活動並讓B活動打開時,我如何知道A活動?

每當您希望退出所有打開的活動時,都應按下一個按鈕,該按鈕將加載在應用程序啟動時運行的第一個活動,然后清除所有其他活動,然后完成最后剩余的活動。 為此,請在您的項目中應用以下代碼

Intent intent = new Intent(getApplicationContext(), FirstActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);

上面的代碼完成了除FirstActivity之外的所有活動。 然后我們需要完成FirstActivity的Enter在Firstactivity的oncreate中輸入以下代碼

if (getIntent().getBooleanExtra("EXIT", false)) {
    finish();
}

請看這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM