Android 启动模式中巧用singleTask
2015-10-16 18:07
633 查看
一、问题的由来
我们的首页底部导航是这样的
有个需求就是,我们在首页界面中点啊点啊,点到一个商品详情页,加入购物车之后,有个按钮,可以直接跳回首页,并转到购物车选项。可能你会说直接跳回去,然后设置为购物车那一页不就行了么,然而并非如此。
二、singleTask介绍
只有一个实例。在同一个应用程序中启动他的时候,若Activity不存在,则会在当前task创建一个新的实例,若存在,则会把task中在其之上的其它Activity destory掉并调用它的onNewIntent方法。其他复杂的介绍就不多说了,可参考http://blog.csdn.net/shinay/article/details/7898492
三、 开始实现
1.设置为singleTask启动模式
2.商品详情中调回去,并且加上标志信息
3.首页中重写onNewIntent,根据标志信息,转到指定位置
我们的首页底部导航是这样的
有个需求就是,我们在首页界面中点啊点啊,点到一个商品详情页,加入购物车之后,有个按钮,可以直接跳回首页,并转到购物车选项。可能你会说直接跳回去,然后设置为购物车那一页不就行了么,然而并非如此。
二、singleTask介绍
只有一个实例。在同一个应用程序中启动他的时候,若Activity不存在,则会在当前task创建一个新的实例,若存在,则会把task中在其之上的其它Activity destory掉并调用它的onNewIntent方法。其他复杂的介绍就不多说了,可参考http://blog.csdn.net/shinay/article/details/7898492
三、 开始实现
1.设置为singleTask启动模式
<activity android:name=".MainTabActivity" android:launchMode="singleTask" android:screenOrientation="portrait" />
2.商品详情中调回去,并且加上标志信息
Intent intent=new Intent(this,MainTabActivity.class); intent.putExtra("from", "goodDetail"); startActivity(intent);
3.首页中重写onNewIntent,根据标志信息,转到指定位置
@Override protected void onNewIntent(Intent intent) { if(intent.getStringExtra("from").equals("goodDetail")){ ToShopCart(); } super.onNewIntent(intent); }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories