// RecyclerView的适配器Eradapter
public class Eradapter extends RecyclerView.Adapter<Eradapter.ViewHolder> {
private static final int TYPE_ONE = 0;
private static final int TYPE_TWO = 1;
private Context context;
private ArrayList<Fenleifx> arrayList;
public Eradapter(Context context, ArrayList<Fenleifx> arrayList) {
this.context = context;
this.arrayList = arrayList;
}
/**
* @return
*/
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = null;
view = LayoutInflater.from(context).inflate(R.layout.erfenlei, parent, false);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
/**
* 删除一个条目
* @param position 删除的条目位置
*/
public void removeItem(int position){
arrayList.remove(position);
//notifyDataSetChanged();
notifyItemRemoved(position);
}
//声明自己的一个事件回调接口
public interface OnItemClickListener{
//条目点击事件
void setOnItemClick(View view, int position);
//条目长按事件
void setOnItemLongClick(View view, int position);
}
private OnItemClickListener onItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener){
this.onItemClickListener = onItemClickListener;
}
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
//获取到设置View属性的对象
ViewGroup.LayoutParams params = holder.itemView.getLayoutParams();
//重新定义高度
// params.height = heightList.get(position);
//保存之前所定义的高度
holder.itemView.setLayoutParams(params);
if(position %2 == 0) {
//设置文本
holder.tv.setText(arrayList.get(position).getName());
}else{
holder.tv.setText(arrayList.get(position).getName());
}
if(null != onItemClickListener)
{
//回调点击事件
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//回调
onItemClickListener.setOnItemClick(v,position);
}
});
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
onItemClickListener.setOnItemLongClick(v,position);
return true;//消费掉
}
});
}
}
@Override
public int getItemCount() {//条目数
return arrayList != null?arrayList.size():0;
}
//获得View的类型
@Override
public int getItemViewType(int position) {
//奇数这个不局,偶数加载另外一个布局
if(position %2 == 0){
return TYPE_ONE;
}else{
return TYPE_TWO;
}
}
//生命我们自己的ViewHolder
class ViewHolder extends RecyclerView.ViewHolder{
TextView tv;
//View itemViews;
public ViewHolder(View itemView) {
super(itemView);
//itemViews = itemView;
tv = itemView.findViewById(R.id.ertv);
}
}
}
//请求成功的bean
@Override
public void seecss(clickjumpbean bean) {
// Log.e("ppp", "seecss: "+bean.getData().size());
twoclickrec = (RecyclerView) findViewById(R.id.twoclickrec);
final List<clickjumpbean.DataBean> data = bean.getData();
//网格布局样式
GridLayoutManager gridLayoutManager1 = new GridLayoutManager(TwocanActivity.this, 2, GridLayoutManager.VERTICAL, false);
//线性布局
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
twoclickrec.setLayoutManager(linearLayoutManager);
TwoJumprcle twoJumprcle = new TwoJumprcle(TwocanActivity.this,data );
twoclickrec.setAdapter(twoJumprcle);
twoJumprcle.setOnItemClickListener(new TwoJumprcle.OnItemClickListener() {
@Override
public void setOnItemClick(View view, int position) {
Intent intent = new Intent(TwocanActivity.this,TwoxiangqingActivity.class);
int pid = data.get(position).getPid();
intent.putExtra("xqpid",pid+"");
startActivity(intent);
}
@Override
public void setOnItemLongClick(View view, int position) {
}
});
}