// Path: app/src/main/java/com/zsorg/neteasecloudmusic/BaseHolder.java
// public class BaseHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
// 
//     private OnItemCLickListener onItemClickListener;
// 
//     public BaseHolder(View itemView) {
//         super(itemView);
//         if (null != itemView) {
//             itemView.setOnClickListener(this);
//         }
//     }
// 
//     public void setOnItemClickListener(OnItemCLickListener onItemClickListener) {
//         this.onItemClickListener = onItemClickListener;
//     }
// 
//     @Override
//     public void onClick(View view) {
//         if (null!=onItemClickListener) {
//             onItemClickListener.onItemClick(view,getAdapterPosition());
//         }
//     }
// }
// 
// Path: app/src/main/java/com/zsorg/neteasecloudmusic/callbacks/OnItemCLickListener.java
// public interface OnItemCLickListener {
//     void onItemClick(View view, int position);
// }
// 
// Path: app/src/main/java/com/zsorg/neteasecloudmusic/models/beans/MusicBean.java
// public class MusicBean implements Parcelable{
//     private final String mSinger;
//     private final String mAlbum;
//     private String mPath;
//     private String mName;
//     private long mDuration;
// 
//     protected MusicBean(Parcel in) {
//         mSinger = in.readString();
//         mAlbum = in.readString();
//         mPath = in.readString();
//         mName = in.readString();
//         mDuration = in.readLong();
//     }
// 
//     public static final Creator<MusicBean> CREATOR = new Creator<MusicBean>() {
//         @Override
//         public MusicBean createFromParcel(Parcel in) {
//             return new MusicBean(in);
//         }
// 
//         @Override
//         public MusicBean[] newArray(int size) {
//             return new MusicBean[size];
//         }
//     };
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel parcel, int i) {
// 
//         parcel.writeString(mSinger);
//         parcel.writeString(mAlbum);
//         parcel.writeString(mPath);
//         parcel.writeString(mName);
//         parcel.writeLong(mDuration);
//     }
// 
//     @Override
//     public int hashCode() {
//         return mPath==null?0:mPath.hashCode();
//     }
// 
//     @Override
//     public boolean equals(Object obj) {
//         return obj instanceof MusicBean && (((MusicBean) obj).hashCode()==hashCode());
//     }
// 
//     public MusicBean(String name, String singer, String album, long duration, String path) {
//         mPath = path;
//         mName = name;
//         mSinger = singer;
//         mAlbum = album;
//         mDuration = duration;
//     }
// 
//     public String getSinger() {
//         return mSinger;
//     }
// 
//     public String getAlbum() {
//         return mAlbum;
//     }
// 
//     public String getPath() {
//         return mPath;
//     }
// 
//     public void setPath(String mPath) {
//         this.mPath = mPath;
//     }
// 
//     public String getName() {
//         return mName;
//     }
// 
//     public void setName(String mName) {
//         this.mName = mName;
//     }
// 
//     public long getDuration() {
//         return mDuration;
//     }
// 
//     public void setDuration(long mDuration) {
//         this.mDuration = mDuration;
//     }
// }


import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.zsorg.neteasecloudmusic.BaseHolder;
import com.zsorg.neteasecloudmusic.callbacks.OnItemCLickListener;
import com.zsorg.neteasecloudmusic.models.beans.MusicBean;
import java.util.ArrayList;
import java.util.List;
package com.zsorg.neteasecloudmusic.adapters;




/**
 * Created by piyel_000 on 2017/1/5.
 */

public abstract class BaseAdapter<T extends BaseHolder> extends RecyclerView.Adapter<BaseHolder> {

    public static final int TYPE_HEADER = Integer.MAX_VALUE;

    public static final int TYPE_FOOTER = Integer.MIN_VALUE;

    public final LayoutInflater mInflater;

    private OnItemCLickListener mListener;

    private View mHeaderView;

    private View mFooterView;


    public BaseAdapter(@NonNull LayoutInflater inflater) {
        mInflater = inflater;
    }

    public abstract BaseHolder onCreateHolder(ViewGroup parent, int viewType);

    public abstract void onBindHolder(T holder, int position);

    public abstract int getDataCount();

    public void setDatas(List<MusicBean> list){}

    public int getItemType(int position){
        return super.getItemViewType(position);
    }

    public MusicBean getDataAtPosition(int position) {
        return null;
    }

    public ArrayList<MusicBean> getDataList() {
        return null;
    }

// Path: app/src/main/java/com/zsorg/neteasecloudmusic/BaseHolder.java
// public class BaseHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
// 
//     private OnItemCLickListener onItemClickListener;
// 
//     public BaseHolder(View itemView) {
//         super(itemView);
//         if (null != itemView) {
//             itemView.setOnClickListener(this);
//         }
//     }
// 
//     public void setOnItemClickListener(OnItemCLickListener onItemClickListener) {
//         this.onItemClickListener = onItemClickListener;
//     }
// 
//     @Override
//     public void onClick(View view) {
//         if (null!=onItemClickListener) {
//             onItemClickListener.onItemClick(view,getAdapterPosition());
//         }
//     }
// }
// 
// Path: app/src/main/java/com/zsorg/neteasecloudmusic/callbacks/OnItemCLickListener.java
// public interface OnItemCLickListener {
//     void onItemClick(View view, int position);
// }
// 
// Path: app/src/main/java/com/zsorg/neteasecloudmusic/models/beans/MusicBean.java
// public class MusicBean implements Parcelable{
//     private final String mSinger;
//     private final String mAlbum;
//     private String mPath;
//     private String mName;
//     private long mDuration;
// 
//     protected MusicBean(Parcel in) {
//         mSinger = in.readString();
//         mAlbum = in.readString();
//         mPath = in.readString();
//         mName = in.readString();
//         mDuration = in.readLong();
//     }
// 
//     public static final Creator<MusicBean> CREATOR = new Creator<MusicBean>() {
//         @Override
//         public MusicBean createFromParcel(Parcel in) {
//             return new MusicBean(in);
//         }
// 
//         @Override
//         public MusicBean[] newArray(int size) {
//             return new MusicBean[size];
//         }
//     };
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel parcel, int i) {
// 
//         parcel.writeString(mSinger);
//         parcel.writeString(mAlbum);
//         parcel.writeString(mPath);
//         parcel.writeString(mName);
//         parcel.writeLong(mDuration);
//     }
// 
//     @Override
//     public int hashCode() {
//         return mPath==null?0:mPath.hashCode();
//     }
// 
//     @Override
//     public boolean equals(Object obj) {
//         return obj instanceof MusicBean && (((MusicBean) obj).hashCode()==hashCode());
//     }
// 
//     public MusicBean(String name, String singer, String album, long duration, String path) {
//         mPath = path;
//         mName = name;
//         mSinger = singer;
//         mAlbum = album;
//         mDuration = duration;
//     }
// 
//     public String getSinger() {
//         return mSinger;
//     }
// 
//     public String getAlbum() {
//         return mAlbum;
//     }
// 
//     public String getPath() {
//         return mPath;
//     }
// 
//     public void setPath(String mPath) {
//         this.mPath = mPath;
//     }
// 
//     public String getName() {
//         return mName;
//     }
// 
//     public void setName(String mName) {
//         this.mName = mName;
//     }
// 
//     public long getDuration() {
//         return mDuration;
//     }
// 
//     public void setDuration(long mDuration) {
//         this.mDuration = mDuration;
//     }
// }


// Path: app/src/main/java/com/zsorg/neteasecloudmusic/adapters/BaseAdapter.java
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.zsorg.neteasecloudmusic.BaseHolder;
import com.zsorg.neteasecloudmusic.callbacks.OnItemCLickListener;
import com.zsorg.neteasecloudmusic.models.beans.MusicBean;
import java.util.ArrayList;
import java.util.List;

package com.zsorg.neteasecloudmusic.adapters;




/**
 * Created by piyel_000 on 2017/1/5.
 */

public abstract class BaseAdapter<T extends BaseHolder> extends RecyclerView.Adapter<BaseHolder> {

    public static final int TYPE_HEADER = Integer.MAX_VALUE;

    public static final int TYPE_FOOTER = Integer.MIN_VALUE;

    public final LayoutInflater mInflater;

    private OnItemCLickListener mListener;

    private View mHeaderView;

    private View mFooterView;


    public BaseAdapter(@NonNull LayoutInflater inflater) {
        mInflater = inflater;
    }

    public abstract BaseHolder onCreateHolder(ViewGroup parent, int viewType);

    public abstract void onBindHolder(T holder, int position);

    public abstract int getDataCount();

    public void setDatas(List<MusicBean> list){}

    public int getItemType(int position){
        return super.getItemViewType(position);
    }

    public MusicBean getDataAtPosition(int position) {
        return null;
    }

    public ArrayList<MusicBean> getDataList() {
        return null;
    }

    public void setOnItemClickListener(OnItemCLickListener listener) {