我正在编写一段代码,其中包含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:我已经检查了所有延迟加载和视图模式的链接。