HubAdapter.java 1.72 KB
package com.lotus.town.hub;

import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.lotus.town.R;

import java.util.List;

public class HubAdapter extends RecyclerView.Adapter<HubAdapter.ViewHolder> {

  private Context mContext;
  private List<HubItem> mDataList;

  public HubAdapter(Context context, List<HubItem> dataList) {
    mContext = context;
    mDataList = dataList;
  }

  @NonNull
  @Override
  public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
    if (viewType == HubItem.Type.DATE.ordinal()) {
      return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.hub_item_view_date, null));
    } else {
      return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.hub_item_view_time, null));
    }
  }

  @Override
  public void onBindViewHolder(@NonNull ViewHolder viewHolder, int position) {
    HubItem hubItem = mDataList.get(position);
    if (hubItem.getType() == HubItem.Type.DATE) {
      viewHolder.textTv.setText(hubItem.getDate());
    } else {
      viewHolder.textTv.setText(hubItem.getTime() + ": " + hubItem.getBehaviour());
    }
  }

  @Override
  public int getItemCount() {
    return mDataList != null ? mDataList.size() : 0;
  }

  @Override
  public int getItemViewType(int position) {
    return mDataList.get(position).getType().ordinal();
  }

  static class ViewHolder extends RecyclerView.ViewHolder {

    private TextView textTv;

    ViewHolder(@NonNull View itemView) {
      super(itemView);
      textTv = itemView.findViewById(R.id.text);
    }
  }
}