Activivtyスタック操作
2040 ワード
package com.intsun.icbcgift.lh.tool;
import java.util.Stack;
import android.app.Activity;
public class ActiivtyStack {
private static Stack<Activity> activityStack;
private static ActiivtyStack instance;
private ActiivtyStack(){
}
public static ActiivtyStack getScreenManager(){
if(instance==null){
instance=new ActiivtyStack();
}
return instance;
}
public void popActivity(){
Activity activity=activityStack.lastElement();
if(activity!=null){
activity.finish();
activity=null;
}
}
public void popActivity(Activity activity){
if(activity!=null){
activity.finish();
activityStack.remove(activity);
activity=null;
}
}
public Activity currentActivity(){
Activity activity=activityStack.lastElement();
return activity;
}
public void pushActivity(Activity activity){
if(activityStack==null){
activityStack=new Stack<Activity>();
}
activityStack.add(activity);
}
// Activity
public void popAllActivityExceptOne(Class<?> cls) {
while (true) {
Activity activity = currentActivity();
if (activity == null) {
break;
}
if (activity.getClass().equals(cls)) {
break;
}
popActivity(activity);
}
}
}
activity
//
ActiivtyStack actiivtyStack=ActiivtyStack.getScreenManager();
actiivtyStack.pushActivity(AddConsigneActivity.this);
//
findViewById(R.id.back).setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
ActiivtyStack actiivtyStack=ActiivtyStack.getScreenManager();
actiivtyStack.popAllActivityExceptOne(MyAddrss.class);
}
});