多条目

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.support.annotation.NonNull;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.example.yuekaomoni2.R;
import com.example.yuekaomoni2.bean.Bean;
import com.example.yuekaomoni2.utils.Api;
import com.jcodecraeer.xrecyclerview.XRecyclerView;

import java.util.List;

/**
 * author:Created by WangZhiQiang on 2018/5/30.
 */
public class NewsAdapter extends XRecyclerView.Adapter<XRecyclerView.ViewHolder> {
    private List<Bean.DataBean> data;
    private Context context;

    public NewsAdapter(List<Bean.DataBean> data, Context context) {
        this.data = data;
        this.context = context;
    }

    @NonNull
    @Override
    public XRecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        if (viewType == Api.TYPE1) {
            View view = LayoutInflater.from( context )
                    .inflate( R.layout.item1, parent, false );
            return new View1Holder( view );
        } else {
            View view = LayoutInflater.from( context )
                    .inflate( R.layout.item2, parent, false );
            return new View2Holder( view );
        }
    }

    @Override
    public void onBindViewHolder(@NonNull final XRecyclerView.ViewHolder holder, final int position) {

        holder.itemView.setOnLongClickListener( new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder( context );
                builder.setTitle( "你确定要删除吗??" );
                builder.setNegativeButton( "确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        int pos = holder.getLayoutPosition() - 1;
                        if (pos>=1){
                            data.remove( pos );
                            notifyItemRemoved( pos );
                        }

                    }
                } );
                builder.setNeutralButton( "取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                } );
                builder.show();
                return true;
            }
        } );

        Bean.DataBean dataBean = data.get( position );
        if (holder instanceof View1Holder) {
            ((View1Holder) holder).tv1.setText( dataBean.getTopic() );
            Glide.with( context ).load( dataBean.getMiniimg().get( 0 ).getSrc() ).into( ((View1Holder) holder).image1 );

        } else if (holder instanceof View2Holder) {
            ((View2Holder) holder).tv2.setText( dataBean.getTopic() );
            if (dataBean.getMiniimg() != null && dataBean.getMiniimg().size() > 0) {
                if (dataBean.getMiniimg().size() == 1) {
                    Glide.with( context ).load( dataBean.getMiniimg().get( 0 ).getSrc() ).into( ((View2Holder) holder).image2 );
                    Glide.with( context ).load( dataBean.getMiniimg().get( 0 ).getSrc() ).into( ((View2Holder) holder).image3 );
                    Glide.with( context ).load( dataBean.getMiniimg().get( 0 ).getSrc() ).into( ((View2Holder) holder).image4 );
                } else if (dataBean.getMiniimg().size() == 2) {
                    Glide.with( context ).load( dataBean.getMiniimg().get( 0 ).getSrc() ).into( ((View2Holder) holder).image2 );
                    Glide.with( context ).load( dataBean.getMiniimg().get( 1 ).getSrc() ).into( ((View2Holder) holder).image3 );
                    Glide.with( context ).load( dataBean.getMiniimg().get( 1 ).getSrc() ).into( ((View2Holder) holder).image4 );

                } else {
                    Glide.with( context ).load( dataBean.getMiniimg().get( 0 ).getSrc() ).into( ((View2Holder) holder).image2 );
                    Glide.with( context ).load( dataBean.getMiniimg().get( 1 ).getSrc() ).into( ((View2Holder) holder).image3 );
                    Glide.with( context ).load( dataBean.getMiniimg().get( 2 ).getSrc() ).into( ((View2Holder) holder).image4 );

                }
            }
        }
    }

    @Override
    public int getItemViewType(int position) {
        return position % 2 == 0 ? Api.TYPE1 : Api.TYPE2;
    }

    @Override
    public int getItemCount() {
        return data.size();
    }

    class View1Holder extends XRecyclerView.ViewHolder {

        private final TextView tv1;
        private final ImageView image1;

        public View1Holder(View itemView) {
            super( itemView );
            tv1 = itemView.findViewById( R.id.tv1 );
            image1 = itemView.findViewById( R.id.image1 );

        }
    }

    class View2Holder extends XRecyclerView.ViewHolder {

        private final TextView tv2;
        private final ImageView image2, image3, image4;

        public View2Holder(View itemView) {
            super( itemView );
            tv2 = itemView.findViewById( R.id.tv2 );
            image2 = itemView.findViewById( R.id.image2 );
            image3 = itemView.findViewById( R.id.image3 );
            image4 = itemView.findViewById( R.id.image4 );

        }
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值