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 ); } } }
多条目
最新推荐文章于 2022-05-04 19:55:34 发布