打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

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

  1. /** 
  2.  * 构造菜单Adapter 
  3.  * @param menuNameArray 名称 
  4.  * @param imageResourceArray 图片 
  5.  * @return FootBarAdapter 
  6.  */  
  7. private FootBarAdapter getMenuAdapter(String[] menuNameArray,  
  8.         int[] imageResourceArray) {  
  9.     ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();  
  10.     for (int i = 0; i < menuNameArray.length; i++) {  
  11.         HashMap<String, Object> map = new HashMap<String, Object>();  
  12.         map.put("itemImage", imageResourceArray[i]);  
  13.         map.put("itemText", menuNameArray[i]);  
  14.         data.add(map);  
  15.     }  
  16.     FootBarAdapter footbarAdapter = new FootBarAdapter(this, data,  
  17.             R.layout.item_menu, new String[] { "itemImage""itemText" },  
  18.             new int[] { R.id.item_image, R.id.item_text });  
  19.     return footbarAdapter;  
  20. }  
  21.   
  22. public class FootBarAdapter extends SimpleAdapter {  
  23.     public FootBarAdapter(Context context,  
  24.             List<? extends Map<String, ?>> data, int resource,  
  25.             String[] from, int[] to) {  
  26.         super(context, data, resource, from, to);  
  27.     }  
  28.     @Override  
  29.     public View getView(int position, View convertView, ViewGroup parent) {  
  30.         View v =  super.getView(position, convertView, parent);  
  31.         if (position == TOOLBAR_ITEM_PAGEHOME) {  
  32.             v.setBackgroundResource(R.drawable.bg_toolbar_item_pressed);  
  33.         }  
  34.         return v;  
  35.     }  
  36. }  

 

 

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

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
模仿UCweb菜单 - 白羽雕弓 - 博客园
DevExpress控件的GridControl控件小结_Walking through ...
android listview下拉刷新(listview 分页),数据来源数据库(web)
java常用集合类详解(有例子,集合类糊涂的来看!) .
浅谈DevExpress<三>:在GridView中加载动态图片
android客户端从服务器端获取json数据并解析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服