- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
android企业级开发常用资料整理
Android资料总结整理初订:2012年4月18日星期三【一】记录和恢复ListView滚动的位置的三种方法:本文主要介绍记录和恢复listView滚动位置的3种方法,记录listView滚动到的位置的坐标(推荐)、记录listView显示在屏幕上的第一个item的位置、通知适配器数据改变。有时在view切换时,需要恢复listView之前滚动到的位置,鉴于网上已有资料说的都是第二种方法,而第二种方法本身在精确度上较差,自己找到了第一种方法分享下。1.1、记录listView滚动到的位置的坐标,然后利用listView.scrollTo精确的进行恢复listView.setOnScrollListener(new OnScrollListener() { /** * 滚动状态改变时调用 */ @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // 不滚动时保存当前滚动到的位置 if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) { if (currentMenuInfo != null) { scrolledX = statusListView.getScrollX(); scrolledY = statusListView.getScrollY(); } } } /** * 滚动时调用 */ @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } }); 1.2、记录listView显示在屏幕上的第一个item的位置,然后利用listView.setSelection恢复注意:这是网上能找到的最普遍的一种方式,但是却无法准确恢复到原位置,只能定位到每个item的位置,推荐使用第1种listView.setOnScrollListener(new OnScrollListener() { /** * 滚动状态改变时调用 */ @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // 不滚动时保存当前滚动到的位置 if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) { position = statusListView.getFirstVisiblePosition(); } } /** * 滚动时调用 */ @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } }); 1.3、通知listView的适配器数据变更这种适用于listView追加数据的情况,严格说不是恢复listView滚动的位置,只是保持滚动位置不错listDataAdapter.getDataList.addAll(newDataList()); listDataAdapter.notifyDataSetChanged(); 【二】界面intent之间复杂参数的传递老师在《Lecture03_应用程序框架及关键组件_1》课上有介绍了Intent是Activity与Activity之间,Activity与Service之间传递参数的介质,并有使用Intent和Bundle在组件之间传递数据的用法和例子,而这两种通常实现的是Java基本对象类型和String的传递。在实际项目中,页面之间传值,除了以上几种,经常还有传递Object对象、List类型、ListObject类型和全局变量等等的
您可能关注的文档
最近下载
- 幼儿园伙食培训.pptx VIP
- 新型城镇化背景下乡镇行政管理体制改革的出路.docx
- 第15课 无人机创意飞行-九年级信息科技(浙教版2023).ppt
- c guiqt4编程(第二版)(中文高清pdf扫描版) 随书源码.pdf
- 工贸行业企业岗位安全生产责任清单(参考模板2.0).docx VIP
- 城市社区公共文化服务建设问题及对策研究——以南京市彩霞社区为例.docx
- 篮球运动竞赛的组织与编排工作教案.pdf VIP
- 人教版七年级上册数学期末动点问题压轴题专题训练(含答案).docx VIP
- 包装行业的包装设计与安全标准培训.pptx
- 感恩教师,伴我成长——教师节大会学生国旗下的讲话稿.docx VIP
文档评论(0)