簡體   English   中英

完成所有活動並開始新的活動

[英]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.

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