package com.dingmouren.dingdingmap.ui.adapter;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.amap.api.services.route.BusPath;
import com.amap.api.services.route.BusRouteResult;
import com.dingmouren.dingdingmap.MyApplication;
import com.dingmouren.dingdingmap.R;
import com.dingmouren.dingdingmap.listener.ItemBusRouteOnClickListener;
import com.dingmouren.dingdingmap.util.AMapUtil;
import java.util.List;
/**
* Created by dingmouren on 2017/3/2.
*/
public class RoutePlanBusAdapter extends RecyclerView.Adapter<RoutePlanBusAdapter.ViewHolder> {
private BusRouteResult mBusRouteResult;
private List<BusPath> mBusPathList;
private ItemBusRouteOnClickListener mListener;
public RoutePlanBusAdapter(BusRouteResult mBusRouteResult) {
this.mBusRouteResult = mBusRouteResult;
this.mBusPathList = mBusRouteResult.getPaths();
}
public void setOnItemClickListener(ItemBusRouteOnClickListener listener){
this.mListener = listener;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(MyApplication.applicationContext).inflate(R.layout.item_route_plan_bus,parent,false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.bindData(mBusPathList.get(position));
holder.root.setOnClickListener(v -> {
if (null != mListener){
mListener.onClick(holder.root,mBusPathList.get(position),mBusRouteResult,position);
}
});
}
@Override
public int getItemCount() {
return null == mBusPathList ? 0 : mBusPathList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
TextView title,des;
RelativeLayout root;
public ViewHolder(View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.bus_path_title);
des = (TextView) itemView.findViewById(R.id.bus_path_des);
root = (RelativeLayout) itemView.findViewById(R.id.root);
}
private void bindData(BusPath busPath){
title.setText(AMapUtil.getBusPathTitle(busPath));
des.setText(AMapUtil.getBusPathDes(busPath));
}
}
}