Android 在自定义适配器中替换另一个视图位置的视图

Android 在自定义适配器中替换另一个视图位置的视图,android,android-listview,custom-adapter,listview-adapter,android-viewholder,Android,Android Listview,Custom Adapter,Listview Adapter,Android Viewholder,我有一个图片列表,我正在展示,使用通用图像加载器,现在我试图在位置4之间放置一个广告,但这个广告正在替换该位置的图像。。当查看位置和URL时,一切似乎都正常。自定义适配器是否有问题?还是可以在xml中执行某些操作 @Override public View getView(int position, View convertView, ViewGroup parent) { int type = getItemViewType(position); Sy

我有一个图片列表,我正在展示,使用通用图像加载器,现在我试图在位置4之间放置一个广告,但这个广告正在替换该位置的图像。。当查看位置和URL时,一切似乎都正常。自定义适配器是否有问题?还是可以在xml中执行某些操作

 @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        int type = getItemViewType(position);
        System.out.println(position+" "+urls.get(position));
        if (convertView == null) 
        {
            holder = new ViewHolder();

            switch (type)
            {
                case TILBUD:
                    convertView = mInflater.inflate(R.layout.image_row, null);
                    holder.imageView = (ImageView)convertView.findViewById(R.id.image_row);
                    imageLoader.displayImage(urls.get(position), holder.imageView, options);
                    break;
                case AD_SPACE_1:
                    convertView = mInflater.inflate(R.layout.ad_space_row_1, null);
                    adSpace1 = (AdSpace)convertView.findViewById(R.id.ad_row_1);
                    adSpace1.setSID(returnSID(store, "ad1"));
                    adSpace1.setAdEventListener(adEventListener);
                    adSpace1.setAdErrorEventListener(adErrorListener);
                    adSpace1.setAdAnimationEventListener(adAnimationListener);
                    adSpace1.setAdMediaEventListener(adMediaEventListener);
                    holder.adSpace1 = adSpace1;
                    adSpace1.runAd();
                    break;
                case AD_SPACE_2:
                    convertView = mInflater.inflate(R.layout.ad_space_row_2, null);
                    adSpace2 = (AdSpace)convertView.findViewById(R.id.ad_row_2);
                    adSpace2.setSID(returnSID(store, "ad2"));
                    adSpace2.setAdEventListener(adEventListener);
                    adSpace2.setAdErrorEventListener(adErrorListener);
                    adSpace2.setAdAnimationEventListener(adAnimationListener);
                    adSpace2.setAdMediaEventListener(adMediaEventListener);
                    holder.adSpace2 = adSpace2;
                    adSpace2.runAd();
                    break;
            }
            convertView.setTag(holder);
        } 
        else 
        {
            holder = (ViewHolder)convertView.getTag();
        }
        return convertView;
    }


}
public static class ViewHolder 
{
    public ImageView imageView;
    public AdSpace adSpace1, adSpace2;
}

广告位置有问题,需要ad1上的+1和ad2上的+2。

尝试在xml图像后定义一个布局,并基于位置,如位置%4==0,在getView中尝试此布局。@Haresh尝试了此操作,但没有更改任何内容:/