[英]Finish all activities and start new one
我有一項activity
是從不同的parameters
開始的。 我在intent
幫助下設置參數。 每個參數都有自己單獨的動作。
此活動的GridView
的內容取決於收入參數。
首先開始:
Intent intent = new Intent(this, ArticlesListActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
第二次開始:
startActivity(new Intent(ArticlesListActivity.this, ArticlesListActivity.class));
第三次開始:
Intent intent = new Intent(this, ArticlesListActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
我需要從第一個參數開始此Activity
,然后從其他參數開始,然后再從第一個參數開始。 當我進行第三次啟動時,我需要的是Application
單個Activity
。 有辦法嗎?
活動具有生命周期,為了在運行同一活動時以不同的參數啟動該活動,是要從articleslistactivity的當前實例中再次加載該活動,但要記住再次啟動d活動,並且只會再次停止該活動當前實例,您將在堆棧中擁有三個實例。
我認為此鏈接對刪除堆棧頂部的所有活動很有幫助
Intent intent = new Intent(this,destinationactivity.class); intent.setFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP | FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
嘗試
Intent intent = new Intent(this, main.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
每當您希望退出所有打開的活動時,都應按下一個按鈕,該按鈕將加載在應用程序啟動時運行的第一個活動,然后清除所有其他活動,然后完成最后剩余的活動。 為此,請在您的項目中應用以下代碼
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.