pda/zhuike/src/main/java/com/novelbook/android/utils/BandanAdapter.java

206 lines
6.4 KiB
Java
Raw Normal View History

2019-04-02 17:41:53 +08:00
package com.novelbook.android.utils;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.novelbook.android.R;
2019-04-03 16:21:00 +08:00
import com.novelbook.android.db.Novel;
2019-04-02 17:41:53 +08:00
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class BandanAdapter extends RecyclerView.Adapter<BandanAdapter.MyViewHolder> {
private final int EMPTY_VIEW = 1;
private final int PROGRESS_VIEW = 2;
private final int IMAGE_VIEW = 3;
private Context context;
2019-04-03 16:21:00 +08:00
private List<Novel> mDatas = new ArrayList<Novel>();
2019-04-02 17:41:53 +08:00
private OnItemClickListener mOnItemClickLitener;
private int listItemID;
2019-04-03 16:21:00 +08:00
public BandanAdapter(Context context, List<Novel> mDatas, int listItemID, OnItemClickListener clickLitener) {
2019-04-02 17:41:53 +08:00
this.context = context;
this.mDatas = mDatas;
this.mOnItemClickLitener = clickLitener;
this.listItemID = listItemID;
}
public BandanAdapter(Context context, OnItemClickListener clickLitener) {
this.context = context;
this.mOnItemClickLitener = clickLitener;
}
@Override
public int getItemViewType(int position) {
if(mDatas.size() == 0){
return EMPTY_VIEW;
} else if(mDatas.get(position) == null){
return PROGRESS_VIEW;
} else {
return super.getItemViewType(position);
}
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
MyViewHolder holder = new MyViewHolder(LayoutInflater.from(
context).inflate(listItemID, parent,
false));
return holder;
}
2019-04-03 16:21:00 +08:00
public void setParameters(List<Novel> mDatas,int listItemID ) {
2019-04-02 17:41:53 +08:00
this.mDatas = mDatas;
this.listItemID = listItemID;
}
public void setOnItemClickLitener(OnItemClickListener mOnItemClickLitener)
{
this.mOnItemClickLitener = mOnItemClickLitener;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position)
{
2019-04-03 16:21:00 +08:00
holder.tvCateName .setText(mDatas.get(0).getNovelType());
2019-04-02 17:41:53 +08:00
2019-04-03 16:21:00 +08:00
holder.tvTitle.setText(mDatas.get(0).getNovelName());
2019-04-02 17:41:53 +08:00
holder.tvAuthor.setText(mDatas.get(0).getAuthor());
2019-04-03 16:21:00 +08:00
holder.tvCate.setText(mDatas.get(0).getNovelType());
holder.tvDesc.setText(mDatas.get(0).getDescription());
2019-04-02 17:41:53 +08:00
2019-04-03 16:21:00 +08:00
holder.tvTitle2.setText(mDatas.get(1).getNovelName());
2019-04-02 17:41:53 +08:00
holder.tvAuthor2.setText(mDatas.get(1).getAuthor());
2019-04-03 16:21:00 +08:00
holder.tvCate2.setText(mDatas.get(1).getNovelType());
holder.tvDesc2.setText(mDatas.get(1).getDescription());
2019-04-02 17:41:53 +08:00
2019-04-03 16:21:00 +08:00
holder.tvTitle3.setText(mDatas.get(2).getNovelName());
2019-04-02 17:41:53 +08:00
holder.tvAuthor3.setText(mDatas.get(2).getAuthor());
2019-04-03 16:21:00 +08:00
holder.tvCate3.setText(mDatas.get(2).getNovelType());
holder.tvDesc3.setText(mDatas.get(2).getDescription());
2019-04-02 17:41:53 +08:00
// 如果设置了回调,则设置点击事件
if (mOnItemClickLitener != null)
{
holder.itemView.setOnClickListener(new View.OnClickListener() //show more cate paihang
{
@Override
public void onClick(View v)
{
int pos = holder.getLayoutPosition();
mOnItemClickLitener.onItemClick(holder.itemView, pos);
}
});
holder.itemView.setOnLongClickListener(new View.OnLongClickListener()
{
@Override
public boolean onLongClick(View v)
{
int pos = holder.getLayoutPosition();
mOnItemClickLitener.onItemLongClick(holder.itemView, pos);
return false;
}
});
holder.ll1.setOnClickListener(new View.OnClickListener() { //show bookdetail
@Override
public void onClick(View v)
{
int pos = position;
mOnItemClickLitener.onLinearOutClick(holder.itemView, pos,1);
}
});
holder.ll2.setOnClickListener(new View.OnClickListener() { //show bookdetail
@Override
public void onClick(View v)
{
int pos = position;
mOnItemClickLitener.onLinearOutClick(holder.itemView, pos,2);
}
});
holder.ll3.setOnClickListener(new View.OnClickListener() { //show bookdetail
@Override
public void onClick(View v)
{
int pos = position;
mOnItemClickLitener.onLinearOutClick(holder.itemView, pos,3);
}
});
}
}
@Override
public int getItemCount()
{
return mDatas.size();
}
public void addData(int position) {
// mDatas.add(position, "Insert One");
notifyItemInserted(position);
}
public void removeData(int position) {
mDatas.remove(position);
notifyItemRemoved(position);
}
class MyViewHolder extends RecyclerView.ViewHolder
{
@BindView(R.id.title)
TextView tvTitle;
@BindView(R.id.author)
TextView tvAuthor;
@BindView(R.id.category)
TextView tvCate;
@BindView(R.id.desc)
TextView tvDesc;
@BindView(R.id.title2)
TextView tvTitle2;
@BindView(R.id.author2)
TextView tvAuthor2;
@BindView(R.id.category2)
TextView tvCate2;
@BindView(R.id.desc2)
TextView tvDesc2;
@BindView(R.id.title3)
TextView tvTitle3;
@BindView(R.id.author3)
TextView tvAuthor3;
@BindView(R.id.category3)
TextView tvCate3;
@BindView(R.id.desc3)
TextView tvDesc3;
@BindView(R.id.tvCateName)
TextView tvCateName;
@BindView(R.id.ll1)
LinearLayout ll1;
@BindView(R.id.ll2)
LinearLayout ll2;
@BindView(R.id.ll3)
LinearLayout ll3;
public MyViewHolder(View view)
{
super(view);
ButterKnife.bind(this, view);
//tvTitle = (TextView) view.findViewById(R.id.title);
// tvAuthor = (TextView) view.findViewById(R.id.author);
}
}
}