最近在用Android写一个商品导购程序的时候遇到了一个问题:这个程序中有四个Activity A、B、C、D;其中A用来填写购买商品时的一些客户信息,填写完毕后点击按钮触发事件跳转到B;B用来显示商品的所有分类,选中其中一个分类之后跳转到C;C界面用来显示该分类下的所有商品的简要信息,选择其中一个商品跳转到D;在D中显示商品的详细信息,并可以在界面中填写购买个数。在D界面点击确定之后要求直接返回A界面,并且保留上次离开该界面时的所有信息。。。。
我一开始直接用startActivity方法,但是,返回A界面之后,之前的数据都没了。。。。在网上问了一下,有人给了一个解决方法,方法如下:
在由B界面跳转到C界面时,调用Activity B的finish方法将B销毁;同样在由C跳转到D的时候调用finish方法将C销毁,然后在D跳转到A的时候将D也销毁,这样程序就会直接跳转到A界面,并且可以保留A界面中的信息。。。。
该方法的原理就是利用Android系统中的Activity堆栈,当你将堆栈中要显示的Activity之上的所有Activity销毁之后,Android自然会显示那个Activity了。。。。