GridView使用AdapterView动态加载数据情况下,无论是在onCreate、Onstart、OnResume方法中调用getChildCount()均为0,这说明数据并没有在Activity最初启动后立即加载为GridView的子View,那如果要把GridView实现为Tab风格的菜单,是必须要调用它的状态选中的,如果在Activity中调用的话就会抛nullpointerexception了,那要怎么操作呢?

/** * 构造菜单Adapter * @param menuNameArray 名称 * @param imageResourceArray 图片 * @return FootBarAdapter */ private FootBarAdapter getMenuAdapter(String[] menuNameArray, int[] imageResourceArray) { ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>(); for (int i = 0; i < menuNameArray.length; i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("itemImage", imageResourceArray[i]); map.put("itemText", menuNameArray[i]); data.add(map); } FootBarAdapter footbarAdapter = new FootBarAdapter(this, data, R.layout.item_menu, new String[] { "itemImage", "itemText" }, new int[] { R.id.item_image, R.id.item_text }); return footbarAdapter; } public class FootBarAdapter extends SimpleAdapter { public FootBarAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) { super(context, data, resource, from, to); } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = super.getView(position, convertView, parent); if (position == TOOLBAR_ITEM_PAGEHOME) { v.setBackgroundResource(R.drawable.bg_toolbar_item_pressed); } return v; } }

我们继承了SimplerAdapter,然后Override getView方法,在里边进行选中状态的判断和置背景色为选中色。

版权归个人所有,转载请注明出处

http://blog.csdn.net/xjanker2/archive/2011/03/22/6267515.aspx

Android Trick 3: GridView动态加载数据情况下,选中状态的实现相关推荐

  1. 页面滚动动态加载数据,页面下拉自动加载内容

    $(window).scroll(function () {var scrollTop = $(this).scrollTop();var scrollHeight = $(document).hei ...

  2. android listview动态加载数据,ListView动态加载数据

    当listview需要加载的数据过多时,若一次性载入则速度会相当缓慢,影响用户体验,这时候就需要动态加载数据,即每次载入固定长度的数据,android market的listview就是采用这种方式, ...

  3. HelloChart框架动态加载数据

    HelloChart框架动态加载数据 之前使用MPAndroidChart做过一个动态加载数据的折线统计图,完成如下功能: 一个动态加载数据的图表,首次进入加载20条,并且视图显示在最右边,然后滑动到 ...

  4. Android动画之仿美团加载数据等待时,小人奔跑进度动画对话框(附顺丰快递员奔跑效果)...

    Android动画之仿美团加载数据等待时,小人奔跑进度动画对话框(附顺丰快递员奔跑效果) 首句依然是那句老话,你懂得! finddreams :(http://blog.csdn.net/finddr ...

  5. iscroll动态加载数据完美解决方案

    iscroll动态加载数据完美解决方案 参考文章: (1)iscroll动态加载数据完美解决方案 (2)https://www.cnblogs.com/ShoneH/p/5253758.html (3 ...

  6. 如何在 InfoPath 2003 表单中动态加载数据

    转自微软:http://support.microsoft.com/kb/896451/zh-cn 概要 简介 更多信息 创建新的虚拟目录 设计 Microsoft Office InfoPath 2 ...

  7. ASP.NET MVC动态加载数据

    ASP.NET MVC动态加载数据,一般的做法是使用$.each方法来循环产生tabel: 你可以在html时先写下非动态的部分: <table><tr><th styl ...

  8. python爬取js加载的数据_JS动态加载数据不会爬?老司机教你两个方法爬取想要的数据...

    学习Python的人绝大部分都是在用Python做爬虫,毕竟对于爬虫而言Python是不二选. 但是一般简单的静态页面网站还是很好爬取的,对于很多动态加载的网站就不知道怎么办了,今天小编就给大家介绍两 ...

  9. echarts java动态数据_[ASP.net教程]ECharts Java 动态加载数据,echartsjava

    [ASP.net教程]ECharts Java 动态加载数据,echartsjava 0 2015-12-18 00:00:05 1.前台jsp页面html PUBLIC "-//W3C// ...

最新文章

  1. 使用Photoshop制作网页模板
  2. R语言为dataframe添加新的数据列(add new columns):使用R原生方法、data.table、dplyr等方案
  3. Apache+php+tomcat+mysql整合手册
  4. 2015-03-06——正则表达式基础
  5. 20 个最常用的 Git 命令,码住!
  6. [云炬创业管理笔记]第五章打磨最有效的商业模式测试5
  7. Vue-admin工作整理(四):路由组件传参
  8. iOS底层原理探究-Runloop
  9. 七乐彩中奖规则表_【开奖】双色球第2020094期开奖结果出炉!你中奖了吗?
  10. 函数式编程 -- 纯函数、柯里化函数
  11. qcustomplot圆_QCustomPlot使用心得五:坐标轴常用属性设置
  12. 【Linux系统开发】Study210开发板刷安卓系统
  13. 皮尔森 统计学相关性分析_【R语言】读懂Pearson相关分析结果
  14. php nofollow,php如何实现统一给外部链接添加nofollow值?
  15. 磁耦隔离与传统隔离的区别
  16. 人人商城之导出excel表
  17. JDK包括的Java基础类库_问:JDK是Java平台的核心,Java运行环境、Java工具、Java基础类库(rt.jar)。J...
  18. 遗传图谱的可视化(比mapchart更强大)
  19. 使用李跳跳·自动关闭运动校园广告
  20. Python实现支持向量机SVM分类模型线性SVM决策过程的可视化项目实战

热门文章

  1. 锐龙R7 Pro 5850U怎么样 相当于什么水平
  2. Snail OS 0.03 user是用户进程和系统调用的简单实现
  3. 华为 人工智能 笔经+面经 分享
  4. 如何使用windows在msys2编译saba(开源mmd obj模型查看软件)
  5. BAT批处理命令 教程
  6. 视频教程-项目实战视频课程:美团小程序(Node.js+Express+支付)-微信开发
  7. 微信小程序——教师评教
  8. 网易WEB白帽子-WEB安全基础
  9. maven php mysql,Hibernate+maven+mysql
  10. 网络古风音乐文化功能研究