251 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			251 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | package com.novelbook.android; | ||
|  | 
 | ||
|  | import android.content.Context; | ||
|  | import android.support.v7.widget.LinearLayoutManager; | ||
|  | import android.support.v7.widget.RecyclerView; | ||
|  | import android.support.v7.widget.Toolbar; | ||
|  | import android.view.LayoutInflater; | ||
|  | import android.view.Menu; | ||
|  | import android.view.MenuItem; | ||
|  | import android.view.View; | ||
|  | import android.view.ViewGroup; | ||
|  | import android.widget.Toast; | ||
|  | 
 | ||
|  | import com.novelbook.android.db.Novel; | ||
|  | import com.novelbook.android.db.BookDan; | ||
|  | import com.novelbook.android.utils.OnItemClickListener; | ||
|  | 
 | ||
|  | import java.util.ArrayList; | ||
|  | import java.util.List; | ||
|  | 
 | ||
|  | import butterknife.BindView; | ||
|  | 
 | ||
|  | 
 | ||
|  | public class Activity_createShudan  extends Activity_base  { | ||
|  |     public static final String TAG = Activity_createShudan.class.getSimpleName(); | ||
|  |     @BindView(R.id.toolbar) | ||
|  |     Toolbar toolbar ; | ||
|  |     BookListAdapter mAdapter; | ||
|  |     private  List<Novel> mData; | ||
|  |     @Override | ||
|  |     public int getLayoutRes() { | ||
|  |         return R.layout.activity_create_shudan; | ||
|  |     } | ||
|  | 
 | ||
|  |     @Override | ||
|  |     protected void initViews() { | ||
|  |         initialBookList(); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     void initialBookList() { | ||
|  | 
 | ||
|  |         initialAdapter(); | ||
|  |         rvshudan.setLayoutManager(new LinearLayoutManager(this)); | ||
|  |         rvshudan.setAdapter(mAdapter); | ||
|  |     } | ||
|  | 
 | ||
|  |     void initialAdapter(){ | ||
|  |         mAdapter = new BookListAdapter(this ,mData ,R.layout.recycle_list_item_horizon_with_delete,new  OnItemClickListener() | ||
|  |         { | ||
|  | 
 | ||
|  |             @Override | ||
|  |             public void onItemClick(View view, int position) | ||
|  |             { | ||
|  |                 setCover(); | ||
|  | 
 | ||
|  |             } | ||
|  | 
 | ||
|  |             @Override | ||
|  |             public void onItemLongClick(View view, int position) | ||
|  |             { | ||
|  |                 // initDialog(position); | ||
|  |                 // mAdapter.removeData(position); | ||
|  |             } | ||
|  |             @Override | ||
|  |             public void onLinearOutClick(View view, int position ,int llId) { | ||
|  |                 //  Toast.makeText(activity, "book "+ bookId + " clicked", Toast.LENGTH_SHORT).show(); | ||
|  | 
 | ||
|  |                 // showBookDetail( mData.get(bookId)); | ||
|  |             } | ||
|  |         }); | ||
|  | 
 | ||
|  |     } | ||
|  | 
 | ||
|  |     private void setCover() { | ||
|  |         Toast.makeText(this,"封面设定",Toast.LENGTH_LONG).show(); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |    protected void setupToolbar(){ | ||
|  |     super.setupToolbar(); | ||
|  |         /*toolbar.inflateMenu(R.menu.menu_create_shudan);//设置右上角的填充菜单 | ||
|  |         toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { | ||
|  |             @Override | ||
|  |             public boolean onMenuItemClick(MenuItem item) { | ||
|  |                 int menuItemId = item.getItemId(); | ||
|  |                 if (menuItemId == R.id.mnSave) { | ||
|  | 
 | ||
|  |                     saveShudan(); | ||
|  | 
 | ||
|  | 
 | ||
|  |                 }else if(menuItemId == R.id.mnPublish) { | ||
|  |                      publishShudan(); | ||
|  |                 } | ||
|  |                 return true; | ||
|  |             } | ||
|  |         });*/ | ||
|  |     } | ||
|  | 
 | ||
|  |     @Override | ||
|  |     protected void setTitle() { | ||
|  |         setTitle("创建书单"); | ||
|  |     } | ||
|  | 
 | ||
|  |     @Override | ||
|  |     protected void initData() { | ||
|  |        mData  = new ArrayList<Novel>(); | ||
|  |         for (int i = 0; i <5; i++) | ||
|  |         { | ||
|  |             Novel  bk = new Novel (); | ||
|  |             bk.setAuthor("金庸" +i); | ||
|  |             bk.setName("射雕" +(char)i); | ||
|  |             bk.setNovelType("cate" +i); | ||
|  |             bk.setDesc(" 南宋时期的武林故事南宋时期的武林故事南宋时期的武林故事南宋时期的武林故事南宋时期的武林故事南宋时期的武林故事南宋时期的武林故事"); | ||
|  |             mData .add(bk); | ||
|  |         } | ||
|  | 
 | ||
|  | 
 | ||
|  |     } | ||
|  | 
 | ||
|  |     @Override | ||
|  |     public void fillData() { | ||
|  | 
 | ||
|  |     } | ||
|  | 
 | ||
|  |     private void saveShudan() { | ||
|  |     } | ||
|  |     private void publishShudan() { | ||
|  |     } | ||
|  |     @Override | ||
|  |     public boolean onCreateOptionsMenu(Menu menu) { | ||
|  |         // Inflate the menu; this adds items to the action bar if it is present. | ||
|  |     //   getMenuInflater().inflate(R.menu.menu_create_shudan, menu); | ||
|  | 
 | ||
|  |         return true; | ||
|  |     } | ||
|  | 
 | ||
|  |     class BookListAdapter 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<Novel> mDatas = new ArrayList<Novel>(); | ||
|  |         private OnItemClickListener mOnItemClickListener; | ||
|  |         private int listItemID; | ||
|  | 
 | ||
|  |         public BookListAdapter(Context context, List<Novel> mDatas, int listItemID, OnItemClickListener clicklistener) { | ||
|  |             this.context = context; | ||
|  |             this.mDatas = mDatas; | ||
|  |             this.mOnItemClickListener = clicklistener; | ||
|  |             this.listItemID = listItemID; | ||
|  |         } | ||
|  | 
 | ||
|  |         public BookListAdapter(Context context, OnItemClickListener clickLitener) { | ||
|  |             this.context = context; | ||
|  |             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<Novel> mDatas, int listItemID) { | ||
|  |             this.mDatas = mDatas; | ||
|  |             this.listItemID = listItemID; | ||
|  |         } | ||
|  | 
 | ||
|  |         public void setOnItemClickLitener(OnItemClickListener mOnItemClickListener) { | ||
|  |             this.mOnItemClickListener = mOnItemClickListener; | ||
|  |         } | ||
|  | 
 | ||
|  |         @Override | ||
|  |         public void onBindViewHolder(MyViewHolder holder, int position) { | ||
|  | 
 | ||
|  |             holder.tvTitle.setText(mDatas.get(position).getName()); | ||
|  |             holder.tvAuthor.setText(mDatas.get(position).getAuthor()); | ||
|  |             holder.tvCate.setText(mDatas.get(position).getNovelType()); | ||
|  |             holder.tvDesc.setText(mDatas.get(position).getDesc()); | ||
|  | 
 | ||
|  | 
 | ||
|  |             // 如果设置了回调,则设置点击事件 | ||
|  |             if (mOnItemClickListener != null) { | ||
|  |                 holder.itemView.setOnClickListener(new View.OnClickListener() //show more cate paihang | ||
|  |                 { | ||
|  |                     @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; | ||
|  |                     } | ||
|  |                 }); | ||
|  |                 holder.btnDelete.setOnClickListener(new View.OnClickListener() { | ||
|  |                     @Override | ||
|  |                     public void onClick(View v) { | ||
|  |                         int pos = holder.getLayoutPosition(); | ||
|  |                         removeData(pos); | ||
|  |                     } | ||
|  |                 }); | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  |         @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); | ||
|  |             notifyDataSetChanged(); | ||
|  |         } | ||
|  | 
 | ||
|  |     } | ||
|  | 
 | ||
|  | } |