您的位置:首页 > 移动开发 > Android开发

Android退出多个Activity的Java代码演示

2014-05-25 14:49 344 查看
该代码演示了,Activity创建,加入到Application,通过Application的exit遍历finish Activity.

Application采用了单例模式的写法

值得注意的是在oncreate()方法要执行添加APPlication方法, 在finish 时候,要记得remove(Activity)

/**
 * Function: TODO
 *My.java
 * File Created on 2014年5月23日
 * @Version 1.0
 * 
 * Copyright 2009 baidu.com
 * All rights reserved.
 */

package sigle;

import java.util.LinkedList;
import java.util.List;

 

/**
 * TODO Comment of My
 * @author Administrator
 *
 */
public class MyApplication 
{
	public static void main(String[] args)
	{
		Activity a = new Activity(0);
		a.oncreate();
		System.out.println(a.getID());
		Activity a1 = new Activity(0);
		a1.oncreate();
		a1.oncreate();
		System.out.println(a1.getID()); 
		System.out.print(MyApplication.getInstance().exit());
		 
	}

	
	private List<Activity> activityList = new LinkedList<Activity>();
	
	private MyApplication()
	{
		
	}
	
	private static class SingletonHolder
	{
		
		private static final MyApplication INSTANCE = new MyApplication();
	}
	
	// 单例模式中获取唯一的MyApplication实例
	public static MyApplication getInstance()
	{
		return SingletonHolder.INSTANCE;
	}
	
	// 添加Activity到容器中
	public void addActivity(Activity activity)
	{
		activityList.add(activity);
	}
	
	// 遍历所有Activity并finish
	public boolean exit()
	{
		
		for (Activity activity : activityList)
		{
			activity.finish();
		}
		//System.exit(0);
		return false;
	}
	
	public int getSize()
	{
		return activityList.size();
	}
}

class Activity{
	
	/**
	 * 
	 */
	private int name ;
	public Activity(int name )
	{this.name = name;
		 
	}
	
	/**
	 * @return the iD
	 */
	public int getID()
	{
		return id;
	}
	
	
	private static int ID;
	private final int id = ID++;
	/**
	 * 
	 * @author Administrator
	 * @date 2014年5月23日
	 */
	public void oncreate()
	{
		MyApplication a = MyApplication.getInstance();
		a.addActivity(this);
	}
	/**
	 * 
	 * @author Administrator
	 * @date 2014年5月23日
	 */
	public void finish()
	{
		 System.out.println("id "+getID());
		
	}
	
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: