[英]How to finish Activity when starting other activity in Android?
我之前完成活動時遇到問題。 我想開始另一個活動並完成當前的活動。 當我使用finish
它沒有退出當前活動。
我怎樣才能退出活動?
你需要intent
當前的context
,以另一個活動先用startActivity
。 之后,您可以從重定向的位置finish
當前的activity
。
Intent intent = new Intent(this, FirstActivity.class);// New activity
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish(); // Call once you redirect to another activity
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
- 清除活動堆棧。 如果您不想清除活動堆棧。 請不要使用那個標志。
Intent i = new Intent(this,NewLaunchingActivity.Class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // Call Only, if you dont want to come back to this activity on back press, else ignore this line
startActivity(i);
finish();
最好的——也是最簡單的——解決方案可能是這樣的:
Intent intent = new Intent(this, OtherActivity.class);
startActivity(intent);
finishAndRemoveTask();
finishAndRemoveTask()
文檔:
當您的活動完成並且應該關閉並且任務應該作為完成任務的根活動的一部分被完全刪除時調用它。
這就是你要找的嗎?
launchMode = "singleInstance"
您的活動 A: launchMode = "singleInstance"
FirstActivity.fa.finish();
並調用新的 Intent。startActivity(new Intent(context, ListofProducts.class)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK));
例如:您正在使用兩個活動,如果您想從活動 A 切換到活動 B
像這樣簡單地給予。
Intent intent = new Intent(A.this, B.class);
startActivity(intent);
finish();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.