package com.example.administrator.cookman.ui.adapter;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.example.administrator.cookman.CookManApplication;
import com.example.administrator.cookman.R;
import com.example.administrator.cookman.model.entity.CookEntity.CategoryInfo;
import java.util.ArrayList;
import java.util.List;
import butterknife.Bind;
/**
* Created by Administrator on 2017/2/25.
*/
public class CookCategoryFirAdapter extends BaseRecyclerAdapter<CookCategoryFirAdapter.CookCategoryFirStruct>{
public CookCategoryFirAdapter(OnCookCategoryFirListener onCookCategoryFirListener){
this.onCookCategoryFirListener = onCookCategoryFirListener;
}
@Override
public CommonHolder<CookCategoryFirStruct> setViewHolder(ViewGroup parent) {
return new CookCategoryFirHolder(parent.getContext(), parent);
}
class CookCategoryFirHolder extends CommonHolder<CookCategoryFirStruct>{
@Bind(R.id.ralative_bg)
public RelativeLayout relativeBg;
@Bind(R.id.text_select)
public TextView textSelect;
@Bind(R.id.text_category)
public TextView textCategory;
public CookCategoryFirHolder(Context context, ViewGroup root) {
super(context, root, R.layout.item_cook_category_fir);
}
@Override
public void bindData(final CookCategoryFirStruct cook) {
if(cook.isSelect){
textSelect.setVisibility(View.VISIBLE);
relativeBg.setBackgroundColor(CookManApplication.getContext().getResources().getColor(R.color.white));
}
else{
textSelect.setVisibility(View.GONE);
relativeBg.setBackgroundColor(CookManApplication.getContext().getResources().getColor(R.color.black_alpha_light));
}
textCategory.setText(getCategoryName(cook.data.getName()));
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String id = cook.data.getCtgId();
if(onCookCategoryFirListener != null){
onCookCategoryFirListener.onCookCategoryFirClick(id);
}
for(CookCategoryFirStruct item : dataList){
if(item.data.getCtgId().equals(id)){
item.isSelect = true;
}
else{
item.isSelect = false;
}
}
notifyDataSetChanged();
}
});
}
}
public static class CookCategoryFirStruct{
private CategoryInfo data;
private boolean isSelect;
public CookCategoryFirStruct(CategoryInfo data){
this.data = data;
this.isSelect = false;
}
}
private OnCookCategoryFirListener onCookCategoryFirListener;
public interface OnCookCategoryFirListener{
public void onCookCategoryFirClick(String ctgId);
}
private static String getCategoryName(String name){
return name.replace("按", "").replace("选择菜谱", "");
}
public static List<CookCategoryFirStruct> createDatas(ArrayList<CategoryInfo> datas){
List<CookCategoryFirStruct> dstDatas = new ArrayList<>();
for(CategoryInfo item : datas){
dstDatas.add(new CookCategoryFirStruct(item));
}
if(dstDatas.size() > 0)
dstDatas.get(0).isSelect = true;
return dstDatas;
}
}