BannerAdapter页面
package com.example.lx_mod.com.asq.ui.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.example.lx_mod.com.asq.ui.bean.BannerBean;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
public class BannerAdapter extends PagerAdapter {
private List<BannerBean.DataBean> list;
private Context context;
public BannerAdapter(List<BannerBean.DataBean> list, Context context) {
this.list = list;
this.context = context;
}
@Override
public int getCount() {
return 5000;
}
//创建getitem方法
public BannerBean.DataBean getItem(int position){
return list.get(position%list.size());
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view==object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
//创建ImageView
ImageView imageView = new ImageView(context);
//设置延伸
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
//设置图片
ImageLoader.getInstance().displayImage(getItem(position).getIcon(), imageView);
//添加
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View) object);
}
}
条目的适配器
package com.example.lx_mod.com.asq.ui.adapter;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Message;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.lx_mod.R;
import com.example.lx_mod.com.asq.ui.bean.BannerBean;
import com.example.lx_mod.com.asq.ui.bean.PullBean;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Handler;
public class PullAdapter extends BaseAdapter {
private List<PullBean.DataBean> list;
private List<BannerBean.DataBean> banner;
private Context context;
public PullAdapter(Context context) {
this.context = context;
list = new ArrayList<>();
banner = new ArrayList<>();
}
//创建Handler
@SuppressLint("HandlerLeak")
private android.os.Handler handler = new android.os.Handler(){
@Override
public void handleMessage(Message msg) {
//获取位置
holder.viewPager.setCurrentItem(holder.viewPager.getCurrentItem() + 1);
//设置延迟
handler.sendEmptyMessageDelayed(0,2000);
}
};
ViewHolder holder;
private int PAGE_TYPE = 0;
private int ONE_TYPE = 1;
private int THREE_TYPE = 2;
private int COUNT_TYPE = 3;
@Override
public int getItemViewType(int position) {
if (position==0&&hasImg()){
return PAGE_TYPE;
}else if (getItem(position).isMultiPic()){
return THREE_TYPE;
}else {
return ONE_TYPE;
}
}
@Override
public int getViewTypeCount() {
return COUNT_TYPE;
}
public void setList(List<PullBean.DataBean> slist) {
list.clear();
if (slist!=null){
list.addAll(slist);
}
notifyDataSetChanged();
}
public void setBanner(List<BannerBean.DataBean> banners) {
if (banners!=null){
banner.addAll(banners);
}
notifyDataSetChanged();
}
public void addList(List<PullBean.DataBean> slist){
if (slist!=null){
list.addAll(slist);
}
notifyDataSetChanged();
}
public boolean hasImg(){
return banner.size()>0;
}
@Override
public int getCount() {
return hasImg()?list.size()+1:list.size();
}
@Override
public PullBean.DataBean getItem(int position) {
return hasImg()?list.get(position-1):list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (position==0&&hasImg()) {
if (convertView==null){
convertView = LayoutInflater.from(context).inflate(R.layout.item_page, parent, false);
holder = new ViewHolder();
holder.viewPager = convertView.findViewById(R.id.pagerz);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
this.holder = holder;
//关闭消息
handler.removeCallbacksAndMessages(null);
//设置适配器
holder.viewPager.setAdapter(new BannerAdapter(banner,context));
//向handler发送消息
handler.sendEmptyMessageDelayed(0,2000);
}else if (getItemViewType(position) != THREE_TYPE){
if (convertView==null){
convertView = LayoutInflater.from(context).inflate(R.layout.item_one, parent, false);
holder = new ViewHolder();
holder.imageView1 = convertView.findViewById(R.id.img1);
holder.textView = convertView.findViewById(R.id.textview);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
holder.textView.setText(getItem(position).getTitle());
Log.i("TEST", "load: " + getItem(position).getThumbnail_pic_s());
ImageLoader.getInstance().displayImage(getItem(position).getThumbnail_pic_s(), holder.imageView1);
}else {
if (convertView==null){
convertView = LayoutInflater.from(context).inflate(R.layout.item_three, parent, false);
holder = new ViewHolder();
holder.imageView1 = convertView.findViewById(R.id.img1);
holder.imageView2 = convertView.findViewById(R.id.img2);
holder.imageView3 = convertView.findViewById(R.id.img3);
holder.textView = convertView.findViewById(R.id.textview);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
holder.textView.setText(getItem(position).getTitle());
Log.i("TEST", "load: " + getItem(position).getThumbnail_pic_s());
Log.i("TEST", "load: " + getItem(position).getThumbnail_pic_s02());
Log.i("TEST", "load: " + getItem(position).getThumbnail_pic_s03());
ImageLoader.getInstance().displayImage(getItem(position).getThumbnail_pic_s(),holder.imageView1);
ImageLoader.getInstance().displayImage(getItem(position).getThumbnail_pic_s02(),holder.imageView2);
ImageLoader.getInstance().displayImage(getItem(position).getThumbnail_pic_s03(),holder.imageView3);
}
return convertView;
}
class ViewHolder{
private ViewPager viewPager;
private TextView textView;
private ImageView imageView1,imageView2,imageView3;
}
}