我是谷歌搜索后的新手,我发现如果你想打电话给另一个你必须使用的活动
Intent intent = new Intent(getBaseContext(), Activity_Name.class);
//if Any Extra
//intent.putExtra("", "");
intent.putExtra("EmpID", EmpID);
startActivity(intent);
`
现在这是一种标准方法,但如果您参考图像。我在ListView(Activity1)中差不多20次。
现在我相信这会不断添加,因为我的应用程序在没有任何正当理由的情况下崩溃,而不是在任何特定位置。
我在DataCollection屏幕上禁用 后退按钮(活动2,3,4)
因此它是一种纯粹的瀑布式方法。
任何建议。我应该在最后一个屏幕中添加finish();
行
Intent intent = new Intent(getBaseContext(), Activity_Name.class);
//if Any Extra
//intent.putExtra("", "");
intent.putExtra("EmpID", EmpID);
startActivity(intent);
finish();
`
这样它就会死掉并前往前一个并且死亡并转向前一个。然后登陆ListView。
这是一个好方法吗?或者有什么我可以调用这样的另一个活动,但系统应该忘记所有以前的活动信息。
答案 0 :(得分:1)
如果您不希望用户倒退,请在开始新活动后立即完成当前活动。
之后
startActivity(intent);
致电
finish();
如果您想要清除活动堆栈,那么在进行特定活动时会找到您的清单(例如“活动1”)并添加属性android:clearTaskOnLaunch="true"
此处有更多信息:http://developer.android.com/guide/topics/manifest/activity-element.html#clear
答案 1 :(得分:1)
或者有什么地方我可以调用这样的另一个活动 但系统应该忘记所有以前的活动信息
查看Intent Flags,例如FLAG_ACTIVITY_CLEAR_TASK和FLAG_ACTIVITY_CLEAR_TOP。
答案 2 :(得分:1)
您最好使用startActivityForResult
而不是startActivity
。然后,当你调用一个活动时,你知道它完成后会返回调用它的Activity(它将进入onActivityResult
)。这样你就可以实现:
Activty 1 -> Activity 2 -> Activity 1 -> Activity 3 -> Activity 1 etc
或
Activty 1 -> Activity 2 -> Activity 3 -> Activity 2 -> Activty 1 etc
在这两种情况下,您都无法保持活动的“通过”阶段不可见,他们只能接收“您调用的活动”触发器并传递给下一个活动。