• android中listView的几点总结


    在android中,listView应用非常多,常见的是使用List<HashMap<String, Object>>初始化SimpleAdapter后适配ListView,往往存在下面几种应用场景
    1.特殊数据机构构造ListView
     比如用List<Object>之类的数据,一般是实现自定义的Adapter,继承BaseAdapter,实现下面四个方法
     @Override
     public int getCount() {
      
     }

     @Override
     public Object getItem(int position) {
      
     }

     @Override
     public long getItemId(int position) {
      
     }

     @Override
     public View getView(int position, View convertView, ViewGroup parent) {
     
     }

    2.使用自定义adapter对应实现隔行变色,或者加入竖线实现表格效果
     这个在网上有个例子不错,可以参考
     http://blog.csdn.net/yjg428/article/details/6402010


    3.listView中实现复选框
     参考网上的资源http://blog.csdn.net/honor21/article/details/6960773实现的,不过开始不能调试成功,做了部分修改,这里的要点是自定义adapter对应中getView方法的修改
     public View getView(int position, View convertView, ViewGroup parent) {
     
      if (convertView == null) {
       // 生成条目界面对象
       convertView = inflater.inflate(resource, null);
       //复选框对象
       checkBox = (CheckBox) convertView
         .findViewById(R.id.checkBox);

       final ViewCache cache = new ViewCache();
       
       cache.checkBox = curveCheckBox;

       convertView.setTag(cache);
      } else {
      
       checkBox = cache.curveCheckBox;
      }

      //objects是构造adapter的数据列表,实际应用中为具体的domain对象
      final Objects object = objects.get(position);

      // 复选框点击事件监听
      //这里发生点击事件后,listView中的选中状态被更新,写代码更新数据源列表中每个数据是否点击的状态
      //上层逻辑可以通过访问数据源列表objects的方法,得到是那些item被点击
      curveCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
       @Override
       public void onCheckedChanged(CompoundButton buttonView,
         boolean isChecked) {
        // TODO Auto-generated method stub
        if (curveCheckBox.isChecked()) {
         object.setChecked(1);
        } else {
         object.setChecked(0);
        }
       }
      });
      
      //初始化listView使用,有些应用需要保存选中状态,按照选中状态初始化listView
      if (object.getChecked() == 0) {
       // 是否选中:0未选中1选中
       checkBox.setChecked(false);
      } else {
       checkBox.setChecked(true);
      }

      return convertView;
     }

  • 相关阅读:
    Lucene学习总结之七:Lucene搜索过程解析
    Lucene学习总结之六:Lucene打分公式的数学推导
    Lucene学习总结之五:Lucene段合并(merge)过程分析
    Lucene学习总结之四:Lucene索引过程分析
    Lucene学习总结之三:Lucene的索引文件格式(1)
    Lucene学习总结之二:Lucene的总体架构
    Lucene学习总结之一:全文检索的基本原理
    解决Eclipse中文乱码
    【Lucene4.8教程之五】Luke
    【Tika基础教程之一】Tika基础教程
  • 原文地址:https://www.cnblogs.com/lodestar/p/2779413.html
Copyright © 2020-2023  润新知