zoukankan      html  css  js  c++  java
  • gridView中得部分性能优化 1 利用ViewHolder优化

    public class MarkerItemAdapter extends BaseAdapter
    {
        private Context mContext = null;
        private List<MarkerItem> mMarkerData = null;
    
        public MarkerItemAdapter(Context context, List<MarkerItem> markerItems)
        {
            mContext = context;
            mMarkerData = markerItems;
        }
    
        public void setMarkerData(List<MarkerItem> markerItems)
        {
            mMarkerData = markerItems;
        }
    
        @Override
        public int getCount()
        {
            int count = 0;
            if (null != mMarkerData)
            {
                count = mMarkerData.size();
            }
            return count;
        }
    
        @Override
        public MarkerItem getItem(int position)
        {
            MarkerItem item = null;
    
            if (null != mMarkerData)
            {
                item = mMarkerData.get(position);
            }
    
            return item;
        }
    
        @Override
        public long getItemId(int position)
        {
            return position;
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent)
        {
            ViewHolder viewHolder = null;
            if (null == convertView)
            {
                viewHolder = new ViewHolder();
                LayoutInflater mInflater = LayoutInflater.from(mContext);
                convertView = mInflater.inflate(R.layout.item_marker_item, null);
    
                viewHolder.name = (TextView) convertView.findViewById(R.id.name);
                viewHolder.description = (TextView) convertView
                        .findViewById(R.id.description);
                viewHolder.createTime = (TextView) convertView
                        .findViewById(R.id.createTime);
    
                convertView.setTag(viewHolder);
            }
            else
            {
                viewHolder = (ViewHolder) convertView.getTag();
            }
    
            // set item values to the viewHolder:
    
            MarkerItem markerItem = getItem(position);
            if (null != markerItem)
            {
                viewHolder.name.setText(markerItem.getName());
                viewHolder.description.setText(markerItem.getDescription());
                viewHolder.createTime.setText(markerItem.getCreateDate());
            }
    
            return convertView;
        }
    
        private static class ViewHolder
        {
            TextView name;
            TextView description;
            TextView createTime;
        }
    
    }
    //ListView 中得优化
    public
    class MarkerItemAdapter extends BaseAdapter { private Context mContext = null; private List<MarkerItem> mMarkerData = null; public MarkerItemAdapter(Context context, List<MarkerItem> markerItems) { mContext = context; mMarkerData = markerItems; } public void setMarkerData(List<MarkerItem> markerItems) { mMarkerData = markerItems; } @Override public int getCount() { int count = 0; if (null != mMarkerData) { count = mMarkerData.size(); } return count; } @Override public MarkerItem getItem(int position) { MarkerItem item = null; if (null != mMarkerData) { item = mMarkerData.get(position); } return item; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = null; if (null == convertView) { viewHolder = new ViewHolder(); LayoutInflater mInflater = LayoutInflater.from(mContext); convertView = mInflater.inflate(R.layout.item_marker_item, null); viewHolder.name = (TextView) convertView.findViewById(R.id.name); viewHolder.description = (TextView) convertView .findViewById(R.id.description); viewHolder.createTime = (TextView) convertView .findViewById(R.id.createTime); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } // set item values to the viewHolder: MarkerItem markerItem = getItem(position); if (null != markerItem) { viewHolder.name.setText(markerItem.getName()); viewHolder.description.setText(markerItem.getDescription()); viewHolder.createTime.setText(markerItem.getCreateDate()); } return convertView; } private static class ViewHolder { TextView name; TextView description; TextView createTime; } }
  • 相关阅读:
    Excel—TIME函数简介与用法
    Excel—LEFT、RIGHT、MID函数提取不同位置的字段
    $scope.triggerSave $scope.createForm.dayType.$dirty = false;
    SVN clean up的作用
    js 获取当年到今日的时间区间
    jersey
    vector
    AngularJS 2
    URL 字符介绍
    JS factory
  • 原文地址:https://www.cnblogs.com/linximeng/p/3745495.html
Copyright © 2011-2022 走看看