android:launchMode="singleTask" intent获取到的值没有更新
2014-11-18 17:18
465 查看
防止相同页面生成多个,采用android:launchMode="singleTask"页面启动方式。
页面的四种启动方式(android:launchMode="singleTask"):/article/3644797.html
注意事项:
使用android:launchMode="singleTask"他后,俩个页面间跳转情况:第一个页面:oncreate ——> onrasume ——> 第二个页面:oncreate ——> onrasume ——>第一个页面: onrasume ——>第二个页面:oncreate ——> onrasume ——>第一个页面: onrasume ——>第二个页面:oncreate ——> onrasume ——>.。。。,由此可见,第一个页面一直沿用同一个页面,第二个页面则生成新的页面。
所以,只需要在第一个页面中更新数据就可以了。更新数据时需要注意,采用intent传值的时候,在onrasume和oncreate中获取itnent的值是前一次的,所以,要想获取新的intent的值,需要在onNewIntent()方法中获取并更新页面。如下:
PS:上图方法只有在android:launchMode="singleTask"俩个页面间跳转情况才会调用。
页面的四种启动方式(android:launchMode="singleTask"):/article/3644797.html
注意事项:
使用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:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法)
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- android Task Activity launchMode="singleTask" singleInstance 代码分析
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- Android 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- Android 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- Android 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- 一个由Activity launchMode="singleTask"属性引起的血案(Android)
- 关于"singleTask" lauch mode,Android官方文档没有告诉你的事儿
- 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法)
- android:launchMode="singleTop"
- Activity设置启动模式android:launchMode="singleInstance" 按home键后会销毁
- android Activity android:launchMode="singleInstance" 与 startActivityForResult
- android:launchMode="singleTop"
- android:launchMode="singleTask"