`

GridView动态加载数据情况下,选中状态的实现

 
阅读更多

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/article/details/6267515

分享到:
评论

相关推荐

    AspxGridView使用手记

    2.使用GroupBy方法实现数据分组 28 3.分组的展开与折叠 29 4.判断分组行是否展开 29 5.数据分组的相关设置 29 6.按分组值排序 30 十七、 客户端数据分组 30 1.使用GroupBy方法实现数据分组 30 2.分组的展开与折叠 30...

    AspxGridView详细使用手记_全(Word文档)

    史上最全的AspxGridView使用手记,是word文档(共84页!),下面的目录 一、 基本使用方法 4 1.导入Dll文件 4 2.Asp.Net页面控件注册 4 3. Asp.Net页面控件声明 5 4.删除licenses.licx协议文件(盗版) 5 5.功能概述 5 二...

    C#编程经验技巧宝典

    111 &lt;br&gt;0184 如何在ASP.NET中获取文件的扩展名 111 &lt;br&gt;0185 如何在ASP.NET中用URL在页面之间传值 112 &lt;br&gt;0186 如何使用IsPostBack实现ASP.NET页面加载 112 &lt;br&gt;0187 如何利用输出缓存技术缓存...

    《程序天下:JavaScript实例自学手册》光盘源码

    9.30 动态创建表格并实现分页 9.31 删除表格指定行 9.32 设置表格的交替行颜色 9.33 双击单元格变为可编辑 9.34 鼠标经过表格时列变色 9.35 鼠标选择表格中的多行 9.36 使用JavaScript向表格中写入数据 9.37 类C# ...

    程序天下:JavaScript实例自学手册

    9.30 动态创建表格并实现分页 9.31 删除表格指定行 9.32 设置表格的交替行颜色 9.33 双击单元格变为可编辑 9.34 鼠标经过表格时列变色 9.35 鼠标选择表格中的多行 9.36 使用JavaScript向表格中写入数据 9.37 类C# ...

    ASP.NET 控件的使用

    5.3 动态加载母版页 178 5.4 小结 181 第6章 使用主题设计网站 182 6.1 创建主题 182 6.2 在主题中添加皮肤 183 6.2.1 创建命名皮肤 184 6.2.2 Themes与StyleSheetThemes 185 6.2.3 禁用主题 187 6.2.4 在Web配置...

    ASP.NET.4揭秘

    5.3 动态加载母版页200 5.4 小结203 第6章 使用主题设计网站204 6.1 创建主题204 6.2 在主题中添加皮肤205 6.2.1 创建命名皮肤206 6.2.2 theme与stylesheetthemes208 6.2.3 禁用主题209 6.2.4 在web配置文件中注册...

    申请单管理系统

    3.页面加载后,如果当前登录人具有某一种或几种类型的申请单分配权限,则显示出具有分配权限的类型的处于待分配状态的申请单的信息,默认显示第一页数据;如果当前登录人不具有任何类型申请单的分配权限,则不显示...

    asp.net知识库

    利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--ListView优化之动态加载 |--ListView优化之控制getView实现复杂显示 |--ListView优化之标准写法 |--listview老虎机 界面设计 水果机 |--listview页面跳转 数据库交互 事务 dao biz 层 |--Log的收集 |--Manager下...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    12.2.1 从各种数据源中批量加载数据 372 12.2.2 批处理多个更新 381 12.2.3 多个活动的结果集(MARS) 388 12.2.4 命令的异步执行 394 12.2.5 异步连接 415 12.3 小结 416 第13章 使用XML 417 13.1 XML基础 417...

    ASP.NET2.0高级编程(第4版)1/6

    书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP.NET初级程序员以及准备迁移到ASP.NET 2.0的编程老手。该书与《ASP.NET 2.0入门经典(第4版)》...

Global site tag (gtag.js) - Google Analytics