pda/zhuike/.svn/pristine/16/16f07b33543c169620209d47aad...

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();
}
}
}