// Path: app/src/main/java/com/demo/amazing/adpter/BaseAdapter.java
// public class BaseAdapter<T> extends RecyclerView.Adapter<BaseViewHolder> {
// 
//     /**
//      * data source
//      */
//     public List<T> dataList;
// 
//     /**
//      * onClick onLongClick callback
//      */
//     public OnItemClickListener listener;
// 
//     /**
//      * constructor view holder delegate
//      */
//     public BaseDelegate delegate;
// 
//     /**
//      * constructor
//      *
//      * @param dataList
//      * @param delegate
//      */
//     public BaseAdapter(List<T> dataList, BaseDelegate delegate) {
//         this(dataList, delegate, null);
//     }
// 
//     /**
//      * constructor
//      *
//      * @param dataList
//      * @param delegate
//      * @param listener
//      */
//     public BaseAdapter(List<T> dataList, BaseDelegate delegate, OnItemClickListener listener) {
//         checkData(dataList);
//         this.delegate = delegate;
//         this.listener = listener;
//     }
// 
//     /**
//      * just is empty
//      *
//      * @param dataList
//      */
//     private void checkData(List<T> dataList) {
//         if (dataList == null) {
//             dataList = Collections.emptyList();
//         }
//         this.dataList = dataList;
//     }
// 
//     /**
//      * set onclick & onLongClick callback
//      *
//      * @param listener
//      */
//     public void setOnItemClickListener(OnItemClickListener listener) {
//         this.listener = listener;
//     }
// 
//     /**
//      * create view holder
//      *
//      * @param parent
//      * @param viewType
//      * @return
//      */
//     @Override
//     public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//         return delegate.onCreateViewHolder(parent, viewType);
//     }
// 
//     /**
//      * bind view holder
//      *
//      * @param holder
//      * @param position
//      */
//     @Override
//     public void onBindViewHolder(BaseViewHolder holder, final int position) {
//         holder.onBindViewHolder(dataList.get(position));
//         if (listener != null && holder.enable()) {
//             holder.itemView.setOnClickListener(new View.OnClickListener() {
//                 @Override
//                 public void onClick(View v) {
//                     listener.onClick(v, dataList.get(position));
//                 }
//             });
//             holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
//                 @Override
//                 public boolean onLongClick(View v) {
//                     return listener.onLongClick(v, dataList.get(position));
//                 }
//             });
//         }
//     }
// 
//     /**
//      * get item count
//      *
//      * @return
//      */
//     @Override
//     public int getItemCount() {
//         return dataList.size();
//     }
// 
//     /**
//      * get item view type
//      *
//      * @param position
//      * @return
//      */
//     @Override
//     public int getItemViewType(int position) {
//         return delegate.getItemViewType(dataList.get(position));
//     }
// }
// 
// Path: app/src/main/java/com/demo/amazing/adpter/EnterDelegate.java
// public class EnterDelegate extends BaseDelegate<EnterData> {
// 
//     public static final int TEXT_HOLDER = 0;
// 
//     @Override
//     public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//         switch (viewType) {
//             case TEXT_HOLDER:
//                 return new EnterTextHolder(parent, getItemView(parent, viewType));
//         }
//         return null;
//     }
// 
//     @Override
//     public int getItemViewType(EnterData data) {
//         return data.holderType;
//     }
// 
//     @Override
//     public int getLayoutId(int viewType) {
//         switch (viewType) {
//             case TEXT_HOLDER:
//                 return R.layout.view_holder_enter_text;
//         }
//         return 0;
//     }
// }
// 
// Path: app/src/main/java/com/demo/amazing/adpter/OnItemClickListener.java
// public interface OnItemClickListener<T> {
//     void onClick(View v, T data);
// 
//     boolean onLongClick(View v, T data);
// }
// 
// Path: app/src/main/java/com/demo/amazing/model/EnterData.java
// public class EnterData extends ItemData {
// 
//     public static final int DEFAULT_TAG = 0;
// 
//     public Class clazz;
// 
//     public EnterData(String desc, Class clazz) {
//         super(DEFAULT_TAG, EnterDelegate.TEXT_HOLDER, desc);
//         this.clazz = clazz;
//     }
// }


import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import com.demo.amazing.R;
import com.demo.amazing.adpter.BaseAdapter;
import com.demo.amazing.adpter.EnterDelegate;
import com.demo.amazing.adpter.OnItemClickListener;
import com.demo.amazing.model.EnterData;
import java.util.ArrayList;
package com.demo.amazing.activity;




public class EnterActivity extends AppCompatActivity {

    private RecyclerView activityList;

// Path: app/src/main/java/com/demo/amazing/adpter/BaseAdapter.java
// public class BaseAdapter<T> extends RecyclerView.Adapter<BaseViewHolder> {
// 
//     /**
//      * data source
//      */
//     public List<T> dataList;
// 
//     /**
//      * onClick onLongClick callback
//      */
//     public OnItemClickListener listener;
// 
//     /**
//      * constructor view holder delegate
//      */
//     public BaseDelegate delegate;
// 
//     /**
//      * constructor
//      *
//      * @param dataList
//      * @param delegate
//      */
//     public BaseAdapter(List<T> dataList, BaseDelegate delegate) {
//         this(dataList, delegate, null);
//     }
// 
//     /**
//      * constructor
//      *
//      * @param dataList
//      * @param delegate
//      * @param listener
//      */
//     public BaseAdapter(List<T> dataList, BaseDelegate delegate, OnItemClickListener listener) {
//         checkData(dataList);
//         this.delegate = delegate;
//         this.listener = listener;
//     }
// 
//     /**
//      * just is empty
//      *
//      * @param dataList
//      */
//     private void checkData(List<T> dataList) {
//         if (dataList == null) {
//             dataList = Collections.emptyList();
//         }
//         this.dataList = dataList;
//     }
// 
//     /**
//      * set onclick & onLongClick callback
//      *
//      * @param listener
//      */
//     public void setOnItemClickListener(OnItemClickListener listener) {
//         this.listener = listener;
//     }
// 
//     /**
//      * create view holder
//      *
//      * @param parent
//      * @param viewType
//      * @return
//      */
//     @Override
//     public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//         return delegate.onCreateViewHolder(parent, viewType);
//     }
// 
//     /**
//      * bind view holder
//      *
//      * @param holder
//      * @param position
//      */
//     @Override
//     public void onBindViewHolder(BaseViewHolder holder, final int position) {
//         holder.onBindViewHolder(dataList.get(position));
//         if (listener != null && holder.enable()) {
//             holder.itemView.setOnClickListener(new View.OnClickListener() {
//                 @Override
//                 public void onClick(View v) {
//                     listener.onClick(v, dataList.get(position));
//                 }
//             });
//             holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
//                 @Override
//                 public boolean onLongClick(View v) {
//                     return listener.onLongClick(v, dataList.get(position));
//                 }
//             });
//         }
//     }
// 
//     /**
//      * get item count
//      *
//      * @return
//      */
//     @Override
//     public int getItemCount() {
//         return dataList.size();
//     }
// 
//     /**
//      * get item view type
//      *
//      * @param position
//      * @return
//      */
//     @Override
//     public int getItemViewType(int position) {
//         return delegate.getItemViewType(dataList.get(position));
//     }
// }
// 
// Path: app/src/main/java/com/demo/amazing/adpter/EnterDelegate.java
// public class EnterDelegate extends BaseDelegate<EnterData> {
// 
//     public static final int TEXT_HOLDER = 0;
// 
//     @Override
//     public BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//         switch (viewType) {
//             case TEXT_HOLDER:
//                 return new EnterTextHolder(parent, getItemView(parent, viewType));
//         }
//         return null;
//     }
// 
//     @Override
//     public int getItemViewType(EnterData data) {
//         return data.holderType;
//     }
// 
//     @Override
//     public int getLayoutId(int viewType) {
//         switch (viewType) {
//             case TEXT_HOLDER:
//                 return R.layout.view_holder_enter_text;
//         }
//         return 0;
//     }
// }
// 
// Path: app/src/main/java/com/demo/amazing/adpter/OnItemClickListener.java
// public interface OnItemClickListener<T> {
//     void onClick(View v, T data);
// 
//     boolean onLongClick(View v, T data);
// }
// 
// Path: app/src/main/java/com/demo/amazing/model/EnterData.java
// public class EnterData extends ItemData {
// 
//     public static final int DEFAULT_TAG = 0;
// 
//     public Class clazz;
// 
//     public EnterData(String desc, Class clazz) {
//         super(DEFAULT_TAG, EnterDelegate.TEXT_HOLDER, desc);
//         this.clazz = clazz;
//     }
// }


// Path: app/src/main/java/com/demo/amazing/activity/EnterActivity.java
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import com.demo.amazing.R;
import com.demo.amazing.adpter.BaseAdapter;
import com.demo.amazing.adpter.EnterDelegate;
import com.demo.amazing.adpter.OnItemClickListener;
import com.demo.amazing.model.EnterData;
import java.util.ArrayList;

package com.demo.amazing.activity;




public class EnterActivity extends AppCompatActivity {

    private RecyclerView activityList;

    private ArrayList<EnterData> list;