PulltoRefresh多条目

##核心代码
public class MainActivity extends AppCompatActivity {

    private PullToRefreshListView pull;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pull = findViewById(R.id.pull);
        pull.setMode(PullToRefreshListView.Mode.BOTH);
        pull.onRefreshComplete();
        pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
initData();
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
initData();
            }
        });
        initData();
    }

    private void initData() {
        ArrayList<String> list = new ArrayList<>();
        for (int i=0;i<30;i++){
            list.add("hh"+i);

        }
        Myadapter myadapter = new Myadapter(this);
        pull.setAdapter(myadapter);
        myadapter.setList(list);

    }
}

##适配器

public class Myadapter extends BaseAdapter {
    private Context context;
    private List<String> list;

    public Myadapter(Context context) {
        this.context = context;
        list = new ArrayList<>();
    }

    public void setList(List<String> list) {
        if (list!=null) {
            this.list = list;
        }
        notifyDataSetChanged();
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public int getViewTypeCount() {
        return 4;
    }

    @Override
    public int getItemViewType(int position) {
        if (position%4==3&&position!=0){
            return 3;
        }else if (position%4==2&&position!=0){
            return 2;
        }else if (position%4==1&&position!=0){
            return 1;
        }
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        /*if (getItemViewType(position)==3){
            FViewHolder fviewHolder;
            if (convertView==null){
                convertView = LayoutInflater.from(context).inflate(R.layout.item_four,parent,false);
                fviewHolder = new FViewHolder(convertView);
            }else {
                fviewHolder = (FViewHolder) convertView.getTag();

            }
            fviewHolder.bindf(getItem(position));
        }else if (getItemViewType(position)==2){
            ThViewHolder thviewHolder;
            if (convertView==null){
                convertView = LayoutInflater.from(context).inflate(R.layout.item_three,parent,false);
                thviewHolder = new ThViewHolder(convertView);
            }else {
                thviewHolder = (ThViewHolder) convertView.getTag();

            }
            thviewHolder.bindth(getItem(position));
        }else if (getItemViewType(position)==1){
            TViewHolder tviewHolder;
            if (convertView==null){
                convertView = LayoutInflater.from(context).inflate(R.layout.item_two,parent,false);
                tviewHolder = new TViewHolder(convertView);
            }else {
                tviewHolder = (TViewHolder) convertView.getTag();

            }
            tviewHolder.bindt(getItem(position));
        }else if (getItemViewType(position)==0){
            OViewHolder oviewHolder;
            if (convertView==null){
                convertView = LayoutInflater.from(context).inflate(R.layout.item_two,parent,false);
                oviewHolder = new OViewHolder(convertView);
            }else {
                oviewHolder = (OViewHolder) convertView.getTag();

            }
            oviewHolder.bindo(getItem(position));
        }*/
        ViewHolder viewHolder = null;
        if (convertView==null){
            if (getItemViewType(position)==3){
                convertView = LayoutInflater.from(context).inflate(R.layout.item_four,parent,false);
                viewHolder = new ViewHolder(convertView);
            }
            if (getItemViewType(position)==2){
                convertView = LayoutInflater.from(context).inflate(R.layout.item_three,parent,false);
                viewHolder = new ViewHolder(convertView);
            }
            if (getItemViewType(position)==1){
                convertView = LayoutInflater.from(context).inflate(R.layout.item_two,parent,false);
                viewHolder = new ViewHolder(convertView);
            }
            if (getItemViewType(position)==0){
                convertView = LayoutInflater.from(context).inflate(R.layout.item_one,parent,false);
                viewHolder = new ViewHolder(convertView);
            }
        }else {
            viewHolder = (ViewHolder) convertView.getTag();
        }
        viewHolder.name.setText(list.get(position));
        return convertView;
    }
    class ViewHolder{
        TextView name;

        public ViewHolder(View convertView) {
            name = convertView.findViewById(R.id.name);
            convertView.setTag(this);
        }
    }

    /*class FViewHolder{
        ImageView fimg,fimg2,fimg3,fimg4;
        TextView name;

        public FViewHolder(View convertView) {
            fimg = convertView.findViewById(R.id.fimg);
            fimg2 = convertView.findViewById(R.id.fimg2);
            fimg3 = convertView.findViewById(R.id.fimg3);
            fimg4 = convertView.findViewById(R.id.fimg4);
            convertView.setTag(this);
        }

        public void bindf(Object item) {
            fimg.setImageResource(R.mipmap.ic_launcher);
            fimg2.setImageResource(R.mipmap.ic_launcher);
            fimg3.setImageResource(R.mipmap.ic_launcher);
            fimg4.setImageResource(R.mipmap.ic_launcher);
        }
    }

    class ThViewHolder{
        ImageView fimg,fimg2,fimg3;
        TextView name;

        public ThViewHolder(View convertView) {
            fimg = convertView.findViewById(R.id.fimg);
            fimg2 = convertView.findViewById(R.id.fimg2);
            fimg3 = convertView.findViewById(R.id.fimg3);

            convertView.setTag(this);
        }

        public void bindth(Object item) {
            fimg.setImageResource(R.mipmap.ic_launcher);
            fimg2.setImageResource(R.mipmap.ic_launcher);
            fimg3.setImageResource(R.mipmap.ic_launcher);

        }
    }
    class TViewHolder{
        ImageView fimg,fimg2;
        TextView name;

        public TViewHolder(View convertView) {
            fimg = convertView.findViewById(R.id.fimg);
            fimg2 = convertView.findViewById(R.id.fimg2);

            convertView.setTag(this);
        }

        public void bindt(Object item) {
            fimg.setImageResource(R.mipmap.ic_launcher);
            fimg2.setImageResource(R.mipmap.ic_launcher);


        }
    }
    class OViewHolder{
        ImageView fimg;
        TextView name;

        public OViewHolder(View convertView) {
            fimg = convertView.findViewById(R.id.fimg);
            convertView.setTag(this);
        }

        public void bindo(Object item) {
            fimg.setImageResource(R.mipmap.ic_launcher);

        }
    }*/
}

猜你喜欢

转载自blog.csdn.net/weixin_44022413/article/details/85156146