Hi,

i've used the holder method, but adding or omitting this didn;t give
me an increase or decrease in performance, my getView method is below:

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
                
                // A ViewHolder keeps references to children views to avoid 
unneccessary calls
                // to findViewById() on each row.
                ViewHolder holder;

                holder = new ViewHolder();
                
                // When convertView is not null, we can reuse it directly, 
there is no need
                // to reinflate it. We only inflate a new View when the 
convertView supplied
                // by ListView is null.
                if (convertView == null){
                        convertView = mInflater.inflate(R.layout.article_row, 
null);
                        
                // Creates a ViewHolder and store references to the two 
children views
                // we want to bind data to.
                        holder.titleText = (TextView) 
convertView.findViewById(R.id.article_title);
                        holder.descriptionText = (TextView)
convertView.findViewById(R.id.article_description);
                        holder.icon = (ImageView) 
convertView.findViewById(R.id.article_thumb);
                        
                        convertView.setTag(holder);
                } else {
                        // get holder back...much faster than inflate
                        holder = (ViewHolder) convertView.getTag();
                }
                

                // Bind the data efficiently with the holder.
                
holder.titleText.setText(Html.fromHtml(((FeedMessage)Items.get(position)).getTitle()));
                
holder.descriptionText.setText(Html.fromHtml(((FeedMessage)Items.get(position)).getDescription()));
                
                Drawable d = null;
                FeedMessage fm = (FeedMessage) Items.get(position);

        if(fm.getEnclosures().size() > 0){
                String urlString = fm.getEnclosures().get(0);
            dm.fetchDrawableOnThread(urlString, holder.icon);
        } else {
                d = 
_context.getResources().getDrawable(R.drawable.thumb_holder);
                holder.icon.setImageDrawable(d);
        }
        if(fm.getGuid() != null){
                convertView.setId(position);
        }
                
                return convertView;
        }
        
        static class ViewHolder {
                TextView descriptionText;
                TextView titleText;
                ImageView icon;
        }



regards,

Patrick

2010/1/6 Vince <specialized...@gmail.com>:
> What does your getView code look like. Are re-inflating your row view
> every time it's called, are there multiple views for the rows etc?
>
> Vince
>
> On Jan 6, 10:18 am, Patrick Plaatje <patrick.plaa...@ndcvbk.nl> wrote:
>> Hi all,
>>
>> for my app i'm using a listview to display rss news articles. All goes
>> well, and the implementation is almost done. But when using my app,
>> i'm not really satisfied with the "smoothness" and user experience of
>> it. The main problem is that when i scroll through the listview, which
>> contains an image for each row in the listview, the scrolling isn;t
>> smooth, it executes the getview override every time. I already threw
>> out the "holder startegy", as it slowed the scrolling...
>>
>> any thoughts?
>>
>> Thanx,
>>
>> Patrick
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>



-- 
Met vriendelijke groet,


Patrick Plaatje

NDC|VBK de uitgevers
Sixmastraat 32, 8915 PA Leeuwarden
Postbus 394, 8901 BD Leeuwarden
T   (058) - 284 5044
M  (06) - 158 966 34
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to