Android ListView(item)条目中添加广告(其他布局)

来源:互联网 发布:网络刷手兼职合法的吗 编辑:程序博客网 时间:2024/04/29 11:28

Android ListView(item)条目中添加广告(其他布局)也就是布局的改变而已。

好了,思想+代码。

adapter代码:

public class NewsAdapter extends BaseAdapter {    private Context context;    private List<NewsEntity> entityList;    private ImageLoader imageLoader;    private NewsEntity newsEntity;    private AdvEntity advEntity;    private int v;    public NewsAdapter() {    }    public NewsAdapter(Context context, List<NewsEntity> entityList) {        this.context=context;        this.entityList=entityList;        imageLoader=new ImageLoader();    }    @Override    public int getCount() {        return entityList.size();    }    @Override    public Object getItem(int position) {        return entityList.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        ViewHolder viewHolder;        if (convertView==null){            viewHolder=new ViewHolder();            if (position==5){                convertView=View.inflate(context,R.layout.advertisement_item,null);                viewHolder.configAdv= (ImageView) convertView.findViewById(R.id.config_adv_btn);                viewHolder.sureAdv= (ImageView) convertView.findViewById(R.id.sure_adv_btn);            }else{                convertView=View.inflate(context, R.layout.item_news,null);                viewHolder.title= (TextView) convertView.findViewById(R.id.title_news);                viewHolder.contact= (TextView) convertView.findViewById(R.id.contact_news);                viewHolder.ctime= (TextView) convertView.findViewById(R.id.ctime_news);                viewHolder.image= (ImageView) convertView.findViewById(R.id.image_news);            }            convertView.setTag(viewHolder);        }else {            viewHolder= (ViewHolder) convertView.getTag();        }        if (position==5){            viewHolder.sureAdv.setImageResource(R.mipmap.two);        }else{            newsEntity= (NewsEntity) getItem(position);            viewHolder.title.setText(newsEntity.getTitle());            viewHolder.contact.setText(newsEntity.getContact());            viewHolder.ctime.setText(newsEntity.getCtime());            viewHolder.image.setImageResource(R.mipmap.ic_launcher);            String url=entityList.get(position).image;            viewHolder.image.setTag(url);            imageLoader.showImageByAsyncTask(viewHolder.image,url);        }        return convertView;    }    class ViewHolder{        TextView title;        TextView contact;        TextView ctime;        ImageView image;        ImageView sureAdv;        ImageView configAdv;    }}

注意:关键代码就是其中的

if (position==5){                convertView=View.inflate(context,R.layout.advertisement_item,null);                viewHolder.configAdv= (ImageView) convertView.findViewById(R.id.config_adv_btn);                viewHolder.sureAdv= (ImageView) convertView.findViewById(R.id.sure_adv_btn);            }else{                convertView=View.inflate(context, R.layout.item_news,null);                viewHolder.title= (TextView) convertView.findViewById(R.id.title_news);                viewHolder.contact= (TextView) convertView.findViewById(R.id.contact_news);                viewHolder.ctime= (TextView) convertView.findViewById(R.id.ctime_news);                viewHolder.image= (ImageView) convertView.findViewById(R.id.image_news);            }            convertView.setTag(viewHolder);        }else {            viewHolder= (ViewHolder) convertView.getTag();        }        if (position==5){            viewHolder.sureAdv.setImageResource(R.mipmap.two);        }else{            newsEntity= (NewsEntity) getItem(position);            viewHolder.title.setText(newsEntity.getTitle());            viewHolder.contact.setText(newsEntity.getContact());            viewHolder.ctime.setText(newsEntity.getCtime());            viewHolder.image.setImageResource(R.mipmap.ic_launcher);            String url=entityList.get(position).image;            viewHolder.image.setTag(url);            imageLoader.showImageByAsyncTask(viewHolder.image,url);        }

判断条目position,改变布局。

注意:这里我是直接viewHolder.sureAdv.setImageResource(R.mipmap.two);上去的,也可以传参数加载。

思想就是,找到要换布局的条目potion,判断改变布局,然后添加数据。

注意:bug解决

Android 解决ListView插入其他布局条目(item或广告)删掉数据的问题
http://blog.csdn.net/aierjun/article/details/54317796

0 1
原创粉丝点击