我有一个大问题,我只有一些“ArrayList 项目”,而我的 getView 方法有问题。我正在尝试根据 TRIP(自定义类)的状态将背景图像(如果需要)加载到行中。
public View getView(final int position, View convertView, ViewGroup parent) {
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.custom_row, parent, false);
layout = (LinearLayout) vi.findViewById(R.id.custom_layout);
String status = items.get(position).getStatus();
if (status.equals("Cancelled"))
layout.setBackgroundResource(R.drawable.pic_status_cancelled);
if (status.equals("Closed"))
layout.setBackgroundResource(R.drawable.pic_status);
当第一次打开 ListView 时一切都很好,然后在快速向下和向上滚动之后......图片搞砸了(为状态加载了错误的图片)。请帮助我并解释导致问题的原因。谢谢
编辑:我找到了解决方案......这是因为我没有为所有案例制作 if 语句,并且因为它重用了视图......无法考虑您在 xml 中输入的默认值。