// Path: library/src/main/java/com/freelib/multiitem/adapter/holder/BaseViewHolder.java
// public class BaseViewHolder extends RecyclerView.ViewHolder {
//     public ViewHolderManager viewHolderManager;
//     public Object itemData;
// 
// 
//     public BaseViewHolder(View itemView) {
//         super(itemView);
//     }
// 
// 
//     public Object getItemData() {
//         return itemData;
//     }
// 
//     /**
//      * header和footer的个数也计算在内
//      * {@link #getAdapterPosition()}
//      */
//     public int getItemPosition() {
//         return getAdapterPosition();
//     }
// 
//     public ViewHolderManager getViewHolderManager() {
//         return viewHolderManager;
//     }
// 
// }
// 
// Path: library/src/main/java/com/freelib/multiitem/adapter/holder/BaseViewHolderManager.java
// public abstract class BaseViewHolderManager<T> extends ViewHolderManager<T, BaseViewHolder> {
//     @Override
//     public abstract void onBindViewHolder(BaseViewHolder holder, T t);
// 
//     @NonNull
//     @Override
//     public BaseViewHolder onCreateViewHolder(@NonNull ViewGroup parent) {
//         BaseViewHolder viewHolder = new BaseViewHolder(getItemView(parent));
//         onCreateViewHolder(viewHolder);
//         return viewHolder;
//     }
// 
//     /**
//      * {@link #onCreateViewHolder}
//      */
//     protected void onCreateViewHolder(@NonNull BaseViewHolder holder) {
//     }
// 
// }
// 
// Path: demo/src/main/java/com/freelib/multiitem/demo/bean/TextBean.java
// public class TextBean {
//     private String text;
// 
//     public TextBean(String text) {
//         this.text = text;
//     }
// 
//     public String getText() {
//         return text;
//     }
// 
//     public void setText(String text) {
//         this.text = text;
//     }
// 
//     @Override
//     public String toString() {
//         return text;
//     }
// }


import android.support.annotation.NonNull;
import android.widget.TextView;
import com.freelib.multiitem.adapter.holder.BaseViewHolder;
import com.freelib.multiitem.adapter.holder.BaseViewHolderManager;
import com.freelib.multiitem.demo.R;
import com.freelib.multiitem.demo.bean.TextBean;
package com.freelib.multiitem.demo.viewholder;



/**
 * @author free46000  2017/03/17
 * @version v1.0
 */
public class TextViewManager<T extends TextBean> extends BaseViewHolderManager<T> {


    @Override
    public void onBindViewHolder(@NonNull BaseViewHolder holder, @NonNull T data) {
        TextView textView = getView(holder, R.id.text);
        textView.setText(data.getText());
    }

// Path: library/src/main/java/com/freelib/multiitem/adapter/holder/BaseViewHolder.java
// public class BaseViewHolder extends RecyclerView.ViewHolder {
//     public ViewHolderManager viewHolderManager;
//     public Object itemData;
// 
// 
//     public BaseViewHolder(View itemView) {
//         super(itemView);
//     }
// 
// 
//     public Object getItemData() {
//         return itemData;
//     }
// 
//     /**
//      * header和footer的个数也计算在内
//      * {@link #getAdapterPosition()}
//      */
//     public int getItemPosition() {
//         return getAdapterPosition();
//     }
// 
//     public ViewHolderManager getViewHolderManager() {
//         return viewHolderManager;
//     }
// 
// }
// 
// Path: library/src/main/java/com/freelib/multiitem/adapter/holder/BaseViewHolderManager.java
// public abstract class BaseViewHolderManager<T> extends ViewHolderManager<T, BaseViewHolder> {
//     @Override
//     public abstract void onBindViewHolder(BaseViewHolder holder, T t);
// 
//     @NonNull
//     @Override
//     public BaseViewHolder onCreateViewHolder(@NonNull ViewGroup parent) {
//         BaseViewHolder viewHolder = new BaseViewHolder(getItemView(parent));
//         onCreateViewHolder(viewHolder);
//         return viewHolder;
//     }
// 
//     /**
//      * {@link #onCreateViewHolder}
//      */
//     protected void onCreateViewHolder(@NonNull BaseViewHolder holder) {
//     }
// 
// }
// 
// Path: demo/src/main/java/com/freelib/multiitem/demo/bean/TextBean.java
// public class TextBean {
//     private String text;
// 
//     public TextBean(String text) {
//         this.text = text;
//     }
// 
//     public String getText() {
//         return text;
//     }
// 
//     public void setText(String text) {
//         this.text = text;
//     }
// 
//     @Override
//     public String toString() {
//         return text;
//     }
// }


// Path: demo/src/main/java/com/freelib/multiitem/demo/viewholder/TextViewManager.java
import android.support.annotation.NonNull;
import android.widget.TextView;
import com.freelib.multiitem.adapter.holder.BaseViewHolder;
import com.freelib.multiitem.adapter.holder.BaseViewHolderManager;
import com.freelib.multiitem.demo.R;
import com.freelib.multiitem.demo.bean.TextBean;

package com.freelib.multiitem.demo.viewholder;



/**
 * @author free46000  2017/03/17
 * @version v1.0
 */
public class TextViewManager<T extends TextBean> extends BaseViewHolderManager<T> {


    @Override
    public void onBindViewHolder(@NonNull BaseViewHolder holder, @NonNull T data) {
        TextView textView = getView(holder, R.id.text);
        textView.setText(data.getText());
    }

    @Override