读书人

栈处理有关问题

发布时间: 2012-09-21 15:47:26 作者: rapoo

栈处理问题

FLAG_ACTIVITY_CLEAR_TOP

只能处理一个activity存在的情况,如果我有多个activity? 1234,如果这四个都存在我想从4到1 上面的方法可行

可是如果我开始是234然后从4到1?如何?

<activity android:name=".activities.A"?
? ? ? ? ? android:label="@string/A_title"?
? ? ? ? ? android:launchMode="singleTask"/>?
?
?
<activity android:name=".activities.B"?
? ? ? ? ? android:label="@string/B_title"?
? ? ? ? ? android:launchMode="singleTask"/>?


public class DontHackAndroidLikeThis extends Application {?
?
? private Stack<Activity> classes = new Stack<Activity>();?
?
? public Activity getBackActivity() {?
? ? return classes.pop();?
? }?
?
? public void addBackActivity(Activity activity) {?
? ? classes.push(activity);?
? }?
?

From A to B:

DontHackAndroidLikeThis app = (DontHackAndroidLikeThis) getApplication();?app.addBackActivity(A.class); ?startActivity(this, B.class);?

From B to C:

DontHackAndroidLikeThis app = (DontHackAndroidLikeThis) getApplication();?app.addBackActivity(B.class); ?startActivity(this, C.class);?

In C:

If ( shouldNotGoBackToB() ) {?? DontHackAndroidLikeThis app = (DontHackAndroidLikeThis) getApplication();?? app.pop();?}?

读书人网 >移动开发

热点推荐