package com.lin.poweradapter.example.expandable;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.lin.poweradapter.AdapterDelegate;
import com.lin.poweradapter.PowerViewHolder;
import com.lin.poweradapter.ChildExpandViewHolder;
import com.lin.poweradapter.example.R;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
/**
* Created by lin18 on 2017/4/25.
*/
public class IngredientAdapterDelegate extends AdapterDelegate<IExpand, PowerViewHolder> {
@Override
protected boolean isForViewType(@NonNull IExpand item, int position) {
return item instanceof Ingredient;
}
@NonNull
@Override
protected PowerViewHolder onCreateViewHolder(ViewGroup parent) {
return new ChildViewHolder(parent, R.layout.vegetarian_ingredient_view);
}
@Override
protected void onBindViewHolder(@NonNull IExpand item, int position, @NonNull PowerViewHolder holder, @NonNull List<Object> payloads) {
ChildViewHolder vh = (ChildViewHolder) holder;
Ingredient ingredient = (Ingredient) item;
vh.textView.setText(ingredient.getName());
}
static class ChildViewHolder extends ChildExpandViewHolder {
Unbinder unbinder;
@BindView(R.id.ingredient_textview)
TextView textView;
ChildViewHolder(@NonNull ViewGroup parent, @LayoutRes int layoutResId) {
this(LayoutInflater.from(parent.getContext()).inflate(layoutResId, parent, false));
}
public ChildViewHolder(View itemView) {
super(itemView);
unbinder = ButterKnife.bind(this, itemView);
}
}
}