当前位置 : 主页 > 编程语言 > c++ >

Activity栈管理类

来源:互联网 收集:自由互联 发布时间:2021-06-30
gistfile1.txt public class ActivityManager { public static ActivityManager instance; private static LinkedList activityList; private static int activityCount; public static ActivityManager getInstance(){ if (instance == null) instance = new
gistfile1.txt
public class ActivityManager {

    public static ActivityManager instance;
    private static LinkedList
 
   activityList;
    private static int activityCount;


    public static ActivityManager getInstance(){
        if (instance == null)
            instance = new ActivityManager();
        return instance;
    }


    private ActivityManager(){
        activityList = new LinkedList<>();
    }


    public static LinkedList
  
    getActivityList() { return activityList; } public static int decreaseCount() { return activityCount--; } public static void increaseCount() { activityCount++; } /** * 当退出应用程序时调用该方法,finish全部Activity */ public void exit() { removeAllActivity(); System.exit(0); } /** * 关闭除了参数的Activity * @param baseActivity */ public void removeAllActivityExceptOne(BaseActivity baseActivity){ for (BaseActivity activity : activityList) { if (activity != null && activity != baseActivity) { activity.finish(); } } } public void removeActicityUseClassName(String cls){ for (BaseActivity activity : activityList) { if (activity != null && TextUtils.equals(activity.getComponentName().getClassName(),cls)) { activity.finish(); } } } public Activity getActivityUseClassName(String cls){ for (BaseActivity activity : activityList) { if (activity != null && TextUtils.equals(activity.getComponentName().getClassName(),cls)) { return activity; } } return null; } public void removeAllActivity(){ for (BaseActivity activity : activityList) { if (activity != null) { activity.finish(); } } } /** * 每打开一个activity都加入list方便统一管理 * * @param activity */ public void addActivity(BaseActivity activity) { if (activity != null && !activityList.contains(activity)) { activityList.add(activity); } } /** * 每关闭一个页面退出栈 * @param activity */ public void removeActivity(Activity activity){ if (activity != null) { if (activityList.contains(activity)){ activityList.remove(activity); } } } }
  
 
网友评论