在应用程序运行时,我按HOME按钮关闭应用程序。当我再次启动应用程序时,它会在点击HOME之前显示的页面上继续。我希望应用程序从初始显示开始。我使用完成()完成活动,但它不工作。有什么建议么?如何销毁Android中的活动?
回答
很可能你有几个相同活动的实例。要解决这类问题,请创建您自己的父级“活动”类,例如MyRootActivity将举行所有可用/活着的活动的静态列表:
public class MyRootActivity extends Activity
{
private static final String TAG=MyRootActivity.class.getName();
private static ArrayList<Activity> activities=new ArrayList<Activity>();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
activities.add(this);
}
@Override
public void onDestroy()
{
super.onDestroy();
activities.remove(this);
}
public static void finishAll()
{
for(Activity activity:activities)
activity.finish();
}
}
对于所有的活动都需要被MyRootActivity的孩子。然后,当你准备确定你正在关闭你的应用程序时 - 只需调用MyRootActivity.finishAll();然后调用MyRootActivity.finishAll();然后调用MyRootActivity.finishAll();然后调用MyRootActivity.finishAll();}。
private static ArrayList
@piku:我在同一条线上”同样的错误......新ArrayList
内创建一个静态的活动对象,活动结束的其他活动,这个IE中分配活动,你可以添加更多的活动
public class demoActivity extends AppCompatActivity {
public static Activity self_intent;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.demo_activity);
selfintent=this;
}
//Other functions--------------
}
做其他活动
在其他
public class finishingActivity extends AppCompatActivity {
public Button activityCloseBtn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.finishing_activity);
activityCloseBtn= (Button) view.findViewById(R.id.activity_close_btn);
activityCloseBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
demoActivity.selfintent.finish(); //for finish demoActivityactivity
//for other activities Activity.selfintent.finish();
finish(); //for finish current activity
}
});
- 1. 如何销毁活动?
- 2. Android-恢复活动中的服务并销毁它们销毁
- 3. Android中的销毁活动问题
- 4. 如何在注销时销毁活动?
- 5. 如何在活动中销毁以前的活动?
- 6. Android - 恢复活动(当销毁时)
- 7. java.lang.IllegalStateException:活动已被销毁 - Android片段
- 8. Android销毁活动,查杀进程
- 9. 销毁活动如何运作?
- 10. 如何防止活动在android应用程序中销毁?
- 11. 无法销毁活动... java.lang.NullPointerException:observer
- 12. java.lang.IllegalStateException:(活动已被销毁)
- 13. 销毁活动堆栈
- 14. 销毁活动堆栈
- 15. 如何销毁Android活动被破坏时的本机进程
- 16. 活动时Android停止线程在销毁时的活动
- 17. Android:如何在活动销毁后关闭对话框?
- 18. 如何在同一时间“销毁”多个Android活动
- 19. Android - 如何销毁BroadcastReceiver?
- 20. 如何在销售时不销毁当前活动
- 21. 后退按钮销毁Crosswalk中的活动Android
- 22. 如何销毁WebView中的WebView活动和视频?
- 23. HistoryRecord的活动销毁超时
- 24. 如何自动销毁QMediaPlayer?
- 25. 如何销毁Android中的活动并从初始设置开始?
- 26. Android:检查活动是否被系统从服务中销毁
- 27. 在Android中销毁活动后数据将保留
- 28. Android主要活动自动销毁(完成)
- 29. 无法销毁活动 - 空指针
- 30. 状态下,当活动被销毁
你在哪里放置'finish()'? 在大多数情况下,按住home只会让活动暂停,除非Android需要紧急存储该内存。 – xandy 2010-11-09 08:15:10
你没有向我们解释你在哪里使用finish()。 – cababunga 2010-11-09 08:20:16
@Nikki:你可以发布代码,以便我们能够找到你在代码中做了什么错误? – 2010-11-09 08:26:26