SimpleCursorAdapter 在滚动期间弄乱了列表视图项目

SimpleCursorAdapter messes up listview items during scrolling

我有一个显示送餐情况的列表视图,其项目由自定义 SimpleCursorAdapter 设置。

我正在为每个外卖或包含特价等的列表视图项目显示一个额外的图标。我还在对列表进行排序,以便将带有特价的外卖放在最前面。

第一次初始化列表视图时,一切正常。当您滚动时,不包括特价商品的项目也有图标,列表视图混乱。

我想问题出在视图回收上,但我不知道如何解决。

这是我的 SimpleCursorAdapter class

private class MyCursorAdapter extends SimpleCursorAdapter{
    private int rowLayout;
    private Cursor cursor;

    public MyCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to) {
        super(context, layout, c, from, to);
        this.rowLayout=layout;
        this.cursor=c;
    }

    @Override
    public View newView(Context context, Cursor cursor, ViewGroup parent) {
        LayoutInflater inflater = LayoutInflater.from(context);
        return inflater.inflate(this.rowLayout,null);
    }

    @Override
    public void bindView(View view, Context context, Cursor cursor) {

        // get resources from database
        int id = cursor.getInt(0);
        int title = cursor.getInt(1);
        final int specialOffer = cursor.getInt(7);
        if (specialOffer==1){
            // we have a special offer delivery
            view.findViewById(R.id.offer_imageview).setVisibility(View.VISIBLE);
        }
    }
}
 if (specialOffer==1){
    // we have a special offer delivery
     view.findViewById(R.id.offer_imageview).setVisibility(View.VISIBLE);
 }
 else{
     view.findViewById(R.id.offer_imageview).setVisibility(View.GONE);
 }