// Path: devpkg-android/src/main/java/org/senydevpkg/base/AbsBaseAdapter.java
// public abstract class AbsBaseAdapter<T> extends BaseAdapter {
// 
//     private final Context mContext;
//     private List<T> mData = new ArrayList<>();
// 
//     public Context getContext() {
//         return mContext;
//     }
// 
//     /**
//      * 接收AbsListView要显示的数据
//      *
//      * @param data    要显示的数据
//      */
//     public AbsBaseAdapter(Context context,List<T> data) {
//         mContext = context;
//         this.mData = data;
//     }
// 
//     public List<T> getData() {
//         return mData;
//     }
// 
//     /**
//      * 更新AbsListView的数据
//      *
//      * @param newData 新数据
//      */
//     public void notifyDataSetChanged(List<T> newData) {
//         this.mData = newData;
//         notifyDataSetChanged();
//     }
// 
//     @Override
//     public int getCount() {
//         return mData.size();
//     }
// 
//     @Override
//     public T getItem(int position) {
//         return mData.get(position);
//     }
// 
//     @Override
//     public long getItemId(int position) {
//         return position;
//     }
// 
//     @Override
//     public View getView(int position, View convertView, ViewGroup parent) {
//         BaseHolder holder;
//         if (convertView != null) {
//             holder = (BaseHolder) convertView.getTag();
//         } else {
//             holder = onCreateViewHolder(parent, getItemViewType(position));
//         }
//         Assert.notNull(holder);
//         holder.bindData(getItem(position));
//         return holder.rootView;
//     }
// 
//     /**
//      * 创建ViewHolder
//      *
//      * @param parent   The ViewGroup into which the new View will be added after it is bound to
//      *                 an adapter position.
//      * @param viewType The view type of the new View.
//      * @return A new ViewHolder that holds a View of the given view type.
//      */
//     protected abstract BaseHolder onCreateViewHolder(ViewGroup parent, int viewType);
// }
// 
// Path: devpkg-android/src/main/java/org/senydevpkg/base/BaseHolder.java
// public abstract class BaseHolder<T> {
// 
//     public final View rootView;
//     private final Context mContext;
// 
//     public BaseHolder(Context context) {
//         Assert.notNull(context);
//         mContext = context;
//         rootView = initView();
//         rootView.setTag(this);
//     }
// 
//     /**
//      * 获取上下文
//      *
//      * @return 上下文对象
//      */
//     public Context getContext() {
//         return mContext;
//     }
// 
//     protected abstract View initView();
// 
//     /**
//      * 给Holder管理的View设置数据
//      *
//      * @param data 数据
//      */
//     public void bindData(T data) {
// 
//     }
// 
// 
// }


import org.senydevpkg.base.BaseHolder;
import java.util.List;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import org.seny.android.sample.R;
import org.seny.android.sample.resp.NewsResponse;
import org.senydevpkg.base.AbsBaseAdapter;
package org.seny.android.sample.adapter;

/**
 * ━━━━ Code is far away from ━━━━━━
 * 　　  () 　　　  ()
 * 　　  ( ) 　　　( )
 * 　　  ( ) 　　　( )
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　┻　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━ bug with the XYY protecting━━━
 * <p/>
 * Created by Seny on 2016/2/24.
 */




public class NewsAdapter extends AbsBaseAdapter<NewsResponse.DataEntity.TagEntity> {

    private final Context mContext;

    public NewsAdapter(Context context, List<NewsResponse.DataEntity.TagEntity> data) {
        super(context,data);
        mContext = context;
    }


    @Override
    protected BaseHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        return new NewsViewHolder(mContext);
    }


// Path: devpkg-android/src/main/java/org/senydevpkg/base/AbsBaseAdapter.java
// public abstract class AbsBaseAdapter<T> extends BaseAdapter {
// 
//     private final Context mContext;
//     private List<T> mData = new ArrayList<>();
// 
//     public Context getContext() {
//         return mContext;
//     }
// 
//     /**
//      * 接收AbsListView要显示的数据
//      *
//      * @param data    要显示的数据
//      */
//     public AbsBaseAdapter(Context context,List<T> data) {
//         mContext = context;
//         this.mData = data;
//     }
// 
//     public List<T> getData() {
//         return mData;
//     }
// 
//     /**
//      * 更新AbsListView的数据
//      *
//      * @param newData 新数据
//      */
//     public void notifyDataSetChanged(List<T> newData) {
//         this.mData = newData;
//         notifyDataSetChanged();
//     }
// 
//     @Override
//     public int getCount() {
//         return mData.size();
//     }
// 
//     @Override
//     public T getItem(int position) {
//         return mData.get(position);
//     }
// 
//     @Override
//     public long getItemId(int position) {
//         return position;
//     }
// 
//     @Override
//     public View getView(int position, View convertView, ViewGroup parent) {
//         BaseHolder holder;
//         if (convertView != null) {
//             holder = (BaseHolder) convertView.getTag();
//         } else {
//             holder = onCreateViewHolder(parent, getItemViewType(position));
//         }
//         Assert.notNull(holder);
//         holder.bindData(getItem(position));
//         return holder.rootView;
//     }
// 
//     /**
//      * 创建ViewHolder
//      *
//      * @param parent   The ViewGroup into which the new View will be added after it is bound to
//      *                 an adapter position.
//      * @param viewType The view type of the new View.
//      * @return A new ViewHolder that holds a View of the given view type.
//      */
//     protected abstract BaseHolder onCreateViewHolder(ViewGroup parent, int viewType);
// }
// 
// Path: devpkg-android/src/main/java/org/senydevpkg/base/BaseHolder.java
// public abstract class BaseHolder<T> {
// 
//     public final View rootView;
//     private final Context mContext;
// 
//     public BaseHolder(Context context) {
//         Assert.notNull(context);
//         mContext = context;
//         rootView = initView();
//         rootView.setTag(this);
//     }
// 
//     /**
//      * 获取上下文
//      *
//      * @return 上下文对象
//      */
//     public Context getContext() {
//         return mContext;
//     }
// 
//     protected abstract View initView();
// 
//     /**
//      * 给Holder管理的View设置数据
//      *
//      * @param data 数据
//      */
//     public void bindData(T data) {
// 
//     }
// 
// 
// }


// Path: sample/src/main/java/org/seny/android/sample/adapter/NewsAdapter.java
import org.senydevpkg.base.BaseHolder;
import java.util.List;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import org.seny.android.sample.R;
import org.seny.android.sample.resp.NewsResponse;
import org.senydevpkg.base.AbsBaseAdapter;

package org.seny.android.sample.adapter;

/**
 * ━━━━ Code is far away from ━━━━━━
 * 　　  () 　　　  ()
 * 　　  ( ) 　　　( )
 * 　　  ( ) 　　　( )
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　┻　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━ bug with the XYY protecting━━━
 * <p/>
 * Created by Seny on 2016/2/24.
 */




public class NewsAdapter extends AbsBaseAdapter<NewsResponse.DataEntity.TagEntity> {

    private final Context mContext;

    public NewsAdapter(Context context, List<NewsResponse.DataEntity.TagEntity> data) {
        super(context,data);
        mContext = context;
    }


    @Override
    protected BaseHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        return new NewsViewHolder(mContext);
    }


    static class NewsViewHolder extends BaseHolder<NewsResponse.DataEntity.TagEntity> {