具有延迟加载图像的视图模式

时间:2012-10-25 12:51:02

标签: listview android-listview lazy-loading lazy-evaluation

我正在编写一段代码,其中包含listview和自定义元素(item):relativelayout,textview,imageview等。

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

    WindowManager wm = (WindowManager) context
            .getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();
    int widthScreen = display.getWidth();
    int heightScreen = display.getHeight();

    if (convertView == null) {
        convertView = inflater
                .inflate(R.layout.program_specific_item, null);
        viewHolder = new ProgramInitialViewHolder();
        viewHolder.photo = (ImageView) convertView
                .findViewById(R.id.image_photo);
                .findViewById(R.id.start_time);
        viewHolder.endTime = (TextView) convertView
                .findViewById(R.id.end_time);
        viewHolder.type.setFocusable(false);
        viewHolder.endTime.setFocusable(false);
        viewHolder.startTime.setFocusable(false);
        convertView.setTag(viewHolder);
    } else {
    viewHolder = (ProgramInitialViewHolder) convertView.getTag();
    }
    final Event element = schedule.get(position);
try {

        imageLoader.DisplayImage(schedule.get(position).getPicture(),
                    viewHolder.photo);

} catch (Exception g) {
    g.printStackTrace();
}                     return convertView;        } -END-

我实现了viewHolder模式,我试图包含Lazy Loading代码以提高性能。似乎每次我向上/向下滚动我的图像都会被回收并且延迟加载&自动显示图像(刷新)不起作用:我需要滚动以便可视化获取图像(即使在逻辑中它们已经存在)。

那么,我应该停止使用这个viewHolder模式还是应该做其他事情才能成功创建我的listview&懒加载?

PS:我已经检查了所有延迟加载和视图模式的链接。

0 个答案:

没有答案