package com.dingmouren.dingdingmap.ui.adapter; import android.support.v7.widget.CardView; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; import com.amap.api.services.core.PoiItem; import com.dingmouren.dingdingmap.MyApplication; import com.dingmouren.dingdingmap.R; import com.dingmouren.dingdingmap.listener.SearchItemOnClickListener; import org.w3c.dom.Text; import java.util.List; /** * Created by dingmouren on 2017/2/28. */ public class SearchResultAdapter extends RecyclerView.Adapter<SearchResultAdapter.ViewHolder> { private List<PoiItem> mList; private SearchItemOnClickListener mListener; public void setList(List<PoiItem> list){ this.mList = list; } public void setOnItemClickListener(SearchItemOnClickListener listener){ this.mListener = listener; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(MyApplication.applicationContext).inflate(R.layout.item_search_result,parent,false); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.bindData(mList.get(position)); holder.root.setOnClickListener(v -> { if (null != mListener ){ mListener.onClick(holder.root,mList.get(position),position); } }); } @Override public int getItemCount() { return null == mList ? 0 : mList.size(); } static class ViewHolder extends RecyclerView.ViewHolder{ CardView root; TextView tvName,tvAddress; public ViewHolder(View itemView) { super(itemView); tvName = (TextView) itemView.findViewById(R.id.tv_name); tvAddress = (TextView) itemView.findViewById(R.id.tv_address); root = (CardView) itemView.findViewById(R.id.root); } private void bindData(PoiItem poiItem){ if (null != poiItem){ tvName.setText(poiItem.getTitle()); tvAddress.setText(poiItem.getSnippet()); } } } }