69 lines
2.4 KiB
Java
69 lines
2.4 KiB
Java
package com.gh.gamecenter.collection;
|
|
|
|
import android.content.Context;
|
|
import android.support.v7.widget.RecyclerView;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
|
|
import com.gh.base.OnListClickListener;
|
|
import com.gh.common.constant.ItemViewType;
|
|
import com.gh.gamecenter.R;
|
|
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder;
|
|
import com.gh.gamecenter.ask.entity.AnswerEntity;
|
|
import com.gh.gamecenter.ask.questionsdetail.AnswerViewHolder;
|
|
import com.gh.gamecenter.baselist.ListAdapter;
|
|
|
|
/**
|
|
* Created by khy on 22/12/17.
|
|
*/
|
|
|
|
public class AnswerAdapter extends ListAdapter<AnswerEntity> {
|
|
|
|
private OnListClickListener mListClickListener;
|
|
|
|
public AnswerAdapter(Context context, OnListClickListener listClickListener) {
|
|
super(context);
|
|
mListClickListener = listClickListener;
|
|
}
|
|
|
|
@Override
|
|
public int getItemViewType(int position) {
|
|
if (position == getItemCount() - 1) return ItemViewType.ITEM_FOOTER;
|
|
return ItemViewType.ITEM_BODY;
|
|
}
|
|
|
|
@Override
|
|
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
|
View view;
|
|
switch (viewType) {
|
|
case ItemViewType.ITEM_FOOTER:
|
|
view = mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false);
|
|
return new FooterViewHolder(view, null, mListClickListener);
|
|
case ItemViewType.ITEM_BODY:
|
|
view = mLayoutInflater.inflate(R.layout.ask_answer_item, parent, false);
|
|
return new AnswerViewHolder(view, mEntityList, mListClickListener);
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
|
|
switch (getItemViewType(position)) {
|
|
case ItemViewType.ITEM_BODY:
|
|
((AnswerViewHolder) holder).initCollectionAnswerViewHolder(mEntityList.get(position));
|
|
break;
|
|
case ItemViewType.ITEM_FOOTER:
|
|
FooterViewHolder footerViewHolder = (FooterViewHolder) holder;
|
|
footerViewHolder.initItemPadding();
|
|
footerViewHolder.initFooterViewHolder(mIsNetworkError, mIsOver, R.string.ask_loadover_hint);
|
|
break;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public int getItemCount() {
|
|
return mEntityList == null || mEntityList.isEmpty() ? 0 : mEntityList.size() + FOOTER_ITEM_COUNT;
|
|
}
|
|
}
|