我有一个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
,然后使用其他参数启动此Activity
,然后再使用第一个参数启动。当我第三次发布时,我需要Application
{{1}}。有没有办法做到这一点?
答案 0 :(得分:0)
活动具有生命周期,并且为了在运行相同活动时使用不同参数启动活动,将再次从articleslistactivity的当前实例加载活动,但请记住dat再次启动活动nd将再次执行只停止当前实例,你将在堆栈中有三个实例。
答案 1 :(得分:0)
我认为这个链接你必须帮助删除堆栈顶部的所有活动
<强> Clear all activities in a task? 强>
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(意向);
答案 2 :(得分:0)
尝试
Intent intent = new Intent(this, main.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
答案 3 :(得分:0)
每当您希望退出所有打开的活动时,您应按下一个按钮,该按钮会加载应用程序启动时运行的第一个活动,然后清除所有其他活动,然后完成最后剩余的活动。这样做在你的项目中应用以下代码
Intent intent = new Intent(getApplicationContext(), FirstActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
上述代码完成除FirstActivity之外的所有活动。然后我们需要完成FirstActivity在Firstactivity的oncreate中输入以下代码
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}