package com.team.zhuoke.view.home.adapter; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.team.zhuoke.R; import com.team.zhuoke.model.logic.home.bean.HomeRecommendHotCate; import com.team.zhuoke.ui.refreshview.recyclerview.BaseRecyclerAdapter; import com.team.zhuoke.view.home.activity.HomeColumnMoreListActivity; import com.team.zhuoke.view.home.activity.HomeRecommendFaceScoreActivity; import java.util.List; /** * 作者:gaoyin * 电话:18810474975 * 邮箱:18810474975@163.com * 版本号:1.0 * 类描述: * 备注消息: * 修改时间:2017/1/12 下午3:33 **/ public class HomeOtherAdapter extends BaseRecyclerAdapter<RecyclerView.ViewHolder> { private Context context; // 全部栏目 private List<HomeRecommendHotCate> mHomeRecommendHotCate; private HomeRecommendAllColumnAdapter mAllColumnAdapter; /** * 指定 type类型 */ public static final int TYPE_1 = 0xff01; public HomeOtherAdapter(Context context, List<HomeRecommendHotCate> mHomeRecommendHotCate) { this.context = context; this.mHomeRecommendHotCate = mHomeRecommendHotCate; notifyDataSetChanged(); } /** * 全部栏目 * * @param mHomeRecommendHotCate */ public void getAllColumn(List<HomeRecommendHotCate> mHomeRecommendHotCate) { this.mHomeRecommendHotCate.clear(); this.mHomeRecommendHotCate.addAll(mHomeRecommendHotCate); notifyDataSetChanged(); } @Override public RecyclerView.ViewHolder getViewHolder(View view) { return new ColumnViewHolder(view); } @Override public HomeOtherAdapter.ColumnViewHolder onCreateViewHolder(ViewGroup parent, int viewType, boolean isItem) { switch (viewType) { case TYPE_1: return new ColumnViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_home_recommend, parent, false)); default: return null; } } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position, boolean isItem) { bindAllColumnHolder((ColumnViewHolder) holder, position); } /** * 全部栏目 * * @param holder * @param position */ private void bindAllColumnHolder(ColumnViewHolder holder, int position) { // if(mHomeRecommendHotCate.get(position).getRoom_list().size()>=4) { holder.img_column_icon.setImageResource(R.mipmap.icon_column); holder.tv_column_name.setText(mHomeRecommendHotCate.get(position).getTag_name()); holder.rv_column_list.setLayoutManager(new GridLayoutManager(holder.rv_column_list.getContext(), 2, GridLayoutManager.VERTICAL, false)); mAllColumnAdapter = new HomeRecommendAllColumnAdapter(holder.rv_column_list.getContext(), mHomeRecommendHotCate.get(position).getRoom_list()); holder.rv_column_list.setAdapter(mAllColumnAdapter); holder.rl_column_more.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(context, HomeColumnMoreListActivity.class); Bundle bundle = new Bundle(); bundle.putString("title", holder.tv_column_name.getText().toString()); bundle.putString("cate_id",mHomeRecommendHotCate.get(position).getTag_id()); intent.putExtras(bundle); context.startActivity(intent); } }); } @Override public int getAdapterItemViewType(int position) { return TYPE_1; } @Override public void onAttachedToRecyclerView(RecyclerView recyclerView) { super.onAttachedToRecyclerView(recyclerView); RecyclerView.LayoutManager manager = recyclerView.getLayoutManager(); if (manager instanceof GridLayoutManager) { final GridLayoutManager gridManager = ((GridLayoutManager) manager); gridManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { int type = getItemViewType(position); switch (type) { case TYPE_1: return gridManager.getSpanCount(); default: return 1; } } }); } } @Override public int getAdapterItemCount() { return mHomeRecommendHotCate.size(); } public class ColumnViewHolder extends RecyclerView.ViewHolder { // 栏目 Icon public ImageView img_column_icon; // 栏目 名称 public TextView tv_column_name; // 加载更多 public RelativeLayout rl_column_more; // 栏目列表 public RecyclerView rv_column_list; public LinearLayout item_home_recommed_girdview; public ColumnViewHolder(View itemView) { super(itemView); img_column_icon = (ImageView) itemView.findViewById(R.id.img_column_icon); tv_column_name = (TextView) itemView.findViewById(R.id.tv_column_name); rl_column_more = (RelativeLayout) itemView.findViewById(R.id.rl_column_more); rv_column_list = (RecyclerView) itemView.findViewById(R.id.rv_column_list); item_home_recommed_girdview = (LinearLayout) itemView.findViewById(R.id.item_home_recommed_girdview); } } }