堆栈管理器
来源:互联网 发布:js隐藏数组里面的input 编辑:程序博客网 时间:2024/05/17 21:43
- (转:http://blog.csdn.net/vipzjyno1/article/details/25423543)
- public class StackManager {
- /**
- * Stack 中对应的Activity列表 (也可以写做 Stack<Activity>)
- */
- private static Stack mActivityStack;
- private static StackManager mInstance;
- /**
- * @描述 获取栈管理工具
- * @return ActivityManager
- */
- public static StackManager getStackManager() {
- if (mInstance == null) {
- mInstance = new StackManager();
- }
- return mInstance;
- }
- /**
- * 推出栈顶Activity
- */
- public void popActivity(Activity activity) {
- if (activity != null) {
- activity.finish();
- mActivityStack.remove(activity);
- activity = null;
- }
- }
- /**
- * 获得当前栈顶Activity
- */
- public Activity currentActivity() {
- //lastElement()获取最后个子元素,这里是栈顶的Activity
- if(mActivityStack == null || mActivityStack.size() ==0){
- return null;
- }
- Activity activity = (Activity) mActivityStack.lastElement();
- return activity;
- }
- /**
- * 将当前Activity推入栈中
- */
- public void pushActivity(Activity activity) {
- if (mActivityStack == null) {
- mActivityStack = new Stack();
- }
- mActivityStack.add(activity);
- }
- /**
- * 弹出指定的clsss所在栈顶部的中所有Activity
- * @clsss : 指定的类
- */
- public void popTopActivitys(Class clsss) {
- while (true) {
- Activity activity = currentActivity();
- if (activity == null) {
- break;
- }
- if (activity.getClass().equals(clsss)) {
- break;
- }
- popActivity(activity);
- }
- }
- /**
- * 弹出栈中所有Activity
- */
- public void popAllActivitys() {
- while (true) {
- Activity activity = currentActivity();
- if (activity == null) {
- break;
- }
- popActivity(activity);
- }
- }
- }
0 0
- 堆栈管理器
- Activity堆栈管理器 以及 应用退出的两种方案
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 堆栈
- 第五届省赛总结
- iPhone开源项目汇总
- KEIL4 ARM调试遇debug无响应
- web页面,网页 调用 iOS的地理位置
- 习近平:党员干部要老老实实干事清清白白为官
- 堆栈管理器
- 正则表达式 提取 html 标签的内容
- iPhone项目例子资源
- 李克强出席肯尼亚蒙内铁路融资协议签字仪式
- 老式风格的后缀规则
- UIScrollView的重用机制的理解
- BST树的搜索和插入一并开始运行
- JS中的prototype
- Java定时启动的3种方法