pda/zhuike/src/main/java/com/novelbook/android/activity_cates.java

196 lines
5.5 KiB
Java
Raw Normal View History

2019-04-02 17:41:53 +08:00
package com.novelbook.android;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.TextView;
import android.widget.Toast;
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 activity_cates extends Activity_base {
@BindView(R.id.recycleViewCateList)
RecyclerView mRecyclerView;
private List<String> mDatas;
private BookListAdapter mAdapter;
@Override
public int getLayoutRes() {
return R.layout.activity_cates;
}
@Override
protected void initViews() {
initReceyleView();
}
@Override
protected void setTitle() {
}
interface OnItemClickLitener
{
void onItemClick(View view, int position);
}
private void showCateList(String s) {
Intent intent = new Intent(activity_cates.this, Activity_cate_books.class);
intent.putExtra("CATENAME",s);
startActivity(intent);
}
@Override
protected void initData() {
mDatas = new ArrayList<String>();
for (int i = 0; i <5; i++)
{
mDatas.add("cate"+i);
}
mAdapter = new BookListAdapter(this, mDatas, R.layout.recycle_list_item_cates, new OnItemClickLitener() {
@Override
public void onItemClick(View view, int position) {
showCateList(mDatas.get(position));
}
});
}
void initReceyleView() {
// mRecyclerView.setLayoutManager(new LinearLayoutManager(this.activity));
mRecyclerView.setLayoutManager(new GridLayoutManager(this,2));
mRecyclerView.setAdapter(mAdapter );
}
class BookListAdapter extends RecyclerView.Adapter<BookListAdapter.MyViewHolder> {
private final int EMPTY_VIEW = 1;
private final int PROGRESS_VIEW = 2;
private final int IMAGE_VIEW = 3;
private Context context;
private List<String> mDatas = new ArrayList<String>();
private OnItemClickLitener mOnItemClickLitener;
private int listItemID;
public BookListAdapter(Context context, List<String> mDatas, int listItemID, OnItemClickLitener clickLitener) {
this.context = context;
this.mDatas = mDatas;
this.mOnItemClickLitener = clickLitener;
this.listItemID = listItemID;
}
public BookListAdapter(Context context, OnItemClickLitener 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 BookListAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
BookListAdapter.MyViewHolder holder = new BookListAdapter.MyViewHolder(LayoutInflater.from(
context).inflate(listItemID, parent,
false));
return holder;
}
public void setParameters(List<String> mDatas,int listItemID ) {
this.mDatas = mDatas;
this.listItemID = listItemID;
}
public void setOnItemClickLitener(OnItemClickLitener mOnItemClickLitener)
{
this.mOnItemClickLitener = mOnItemClickLitener;
}
@Override
public void onBindViewHolder(BookListAdapter.MyViewHolder holder, int position)
{
holder.tvTitle.setText(mDatas.get(position));
holder.tvNum.setText("9999");
// 如果设置了回调,则设置点击事件
if (mOnItemClickLitener != null)
{
holder.itemView.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
int pos = holder.getLayoutPosition();
mOnItemClickLitener.onItemClick(holder.itemView, 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);
}
class MyViewHolder extends RecyclerView.ViewHolder
{
@BindView(R.id.tvCateName)
TextView tvTitle;
@BindView(R.id.tvCateNums)
TextView tvNum;
public MyViewHolder(View view)
{
super(view);
ButterKnife.bind(this, view);
//tvTitle = (TextView) view.findViewById(R.id.title);
// tvAuthor = (TextView) view.findViewById(R.id.author);
}
}
}
}