android:launchMode="singleTask" intent获取到的值没有更新
16lz
2021-12-04
防止相同页面生成多个,采用android:launchMode="singleTask"页面启动方式。
页面的四种启动方式(android:launchMode="singleTask"):http://blog.csdn.net/u012264122/article/details/41247103
注意事项:
使用android:launchMode="singleTask"他后,俩个页面间跳转情况:第一个页面:oncreate ——> onrasume ——> 第二个页面:oncreate ——> onrasume ——>第一个页面: onrasume ——>第二个页面:oncreate ——> onrasume ——>第一个页面: onrasume ——>第二个页面:oncreate ——> onrasume ——>.。。。,由此可见,第一个页面一直沿用同一个页面,第二个页面则生成新的页面。
所以,只需要在第一个页面中更新数据就可以了。更新数据时需要注意,采用intent传值的时候,在onrasume和oncreate中获取itnent的值是前一次的,所以,要想获取新的intent的值,需要在onNewIntent()方法中获取并更新页面。如下:
/** * lanuchmode=singletask同一页面只启动一次 */protected void onNewIntent(Intent intent) {dataList.clear();page = 1;uid = intent.getStringExtra("uid");uname = intent.getStringExtra("uname");avatar = intent.getStringExtra("avatar");getHead();initData();getHisPostdata();adapter.notifyDataSetChanged();};
PS:上图方法只有在android:launchMode="singleTask"俩个页面间跳转情况才会调用。
更多相关文章
- 【Android】Android(安卓)android:launchMode=“singleInstance
- Android(安卓)android:launchMode=“singleInstance” 页面跳转
- Android启动过程深入解析
- 继续折腾Android,TouchPad, Defy
- Android获得摄像头详细信息
- Android(安卓)面试必备 - 系统、App、Activity 启动过程
- Android中Activity启动模式详解
- 如何启动Android(安卓)SDK 1.5模拟器
- 解决Android(安卓)SDK Manager下载问题和android studio每次启动