0

我正在编写一段代码,其中我有一个列表视图和一个自定义元素(项目):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 模式,并尝试包含延迟加载代码以提高性能。似乎每次我向上/向下滚动时,我的图像都会被回收,并且延迟加载和自动显示图像(刷新)不起作用:我需要滚动才能以视觉方式获取图像(即使在逻辑上它们已经存在)。

那么,我应该停止使用这个 viewHolder 模式还是应该做其他事情才能成功创建我的列表视图和延迟加载?

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

4

0 回答 0