您的位置:首页 > 移动开发 > Android开发

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

2017-01-10 18:02 232 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: