122 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| package com.novelbook.android.adapter;
 | |
| 
 | |
| import android.content.Context;
 | |
| import android.support.v7.widget.RecyclerView;
 | |
| import android.view.LayoutInflater;
 | |
| import android.view.View;
 | |
| import android.view.ViewGroup;
 | |
| 
 | |
| import com.novelbook.android.db.Novel;
 | |
| import com.novelbook.android.db.BookDan;
 | |
| import com.novelbook.android.utils.OnItemClickListener;
 | |
| 
 | |
| import java.util.List;
 | |
| 
 | |
| public class ShudanAdapter  extends RecyclerView.Adapter< MyViewHolder> {
 | |
|     private final int EMPTY_VIEW = 1;
 | |
|     private final int PROGRESS_VIEW = 2;
 | |
|     private final int IMAGE_VIEW = 3;
 | |
| 
 | |
|     private Context context;
 | |
|     private List<BookDan> mDatas  ;
 | |
|     private OnItemClickListener mOnItemClickListener;
 | |
|     private int listItemID;
 | |
| 
 | |
|     private List<Novel> mBooks;
 | |
| 
 | |
|     public ShudanAdapter(Context context, List<BookDan> mBooks, int listItemID, OnItemClickListener clickLitener) {
 | |
|         this.context = context;
 | |
|         this.mDatas = mBooks;
 | |
|         this.mOnItemClickListener = clickLitener;
 | |
|         this.listItemID = listItemID;
 | |
|     }
 | |
| 
 | |
| 
 | |
| 
 | |
|     public ShudanAdapter(Context context, OnItemClickListener clickLitener) {
 | |
|         this.context = context;
 | |
|         this.mOnItemClickListener = clickLitener;
 | |
| 
 | |
|     }
 | |
| 
 | |
|     public void setListener(OnItemClickListener clickLitener){
 | |
|         this.mOnItemClickListener = 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;
 | |
|     }
 | |
| 
 | |
| 
 | |
|     public void setParameters(List<BookDan> mDatas, int listItemID) {
 | |
|         this.mDatas = mDatas;
 | |
|         this.listItemID = listItemID;
 | |
|     }
 | |
| 
 | |
|     public void setOnItemClickLitener(OnItemClickListener mOnItemClickLitener) {
 | |
|         this.mOnItemClickListener = mOnItemClickLitener;
 | |
|     }
 | |
| 
 | |
|     @Override
 | |
|     public void onBindViewHolder(MyViewHolder holder, int position) {
 | |
|         holder.tvTitle.setText(mDatas.get(position).getName());
 | |
|         if (holder.tvAuthor != null) holder.tvAuthor.setText(mDatas.get(position).getAuthor());
 | |
| 
 | |
|         if (holder.tvDesc != null) holder.tvDesc.setText(mDatas.get(position).getDesc());
 | |
|         if(holder.tvNum!=null)holder.tvNum.setText("999");
 | |
|         // 如果设置了回调,则设置点击事件
 | |
|         if (mOnItemClickListener != null) {
 | |
|             holder.itemView.setOnClickListener(new View.OnClickListener() {
 | |
|                 @Override
 | |
|                 public void onClick(View v) {
 | |
|                     int pos = holder.getLayoutPosition();
 | |
|                     mOnItemClickListener.onItemClick(holder.itemView, pos);
 | |
|                 }
 | |
|             });
 | |
| 
 | |
|             holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
 | |
|                 @Override
 | |
|                 public boolean onLongClick(View v) {
 | |
|                     int pos = holder.getLayoutPosition();
 | |
|                     mOnItemClickListener.onItemLongClick(holder.itemView, pos);
 | |
|                     return false;
 | |
|                 }
 | |
|             });
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @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);
 | |
|     }
 | |
| 
 | |
| 
 | |
| }
 |