package com.forfan.bigbang.onestep; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.forfan.bigbang.R; import com.yanzhenjie.recyclerview.swipe.SwipeMenuAdapter; import java.util.ArrayList; import java.util.List; /** * Created by wangyan-pd on 2016/12/21. */ public class AppsAdapter extends SwipeMenuAdapter<AppsAdapter.MyViewHolder> { private final Context mContext; private List<ResolveInfoWrap> items = new ArrayList<>(); private OnItemClickListener mOnItemClicklitener; public AppsAdapter(Context c) { mContext = c; } @Override public View onCreateContentView(ViewGroup parent, int viewType) { View convertView = LayoutInflater.from(mContext).inflate(R.layout.item_app_intent, null); return convertView; } @Override public MyViewHolder onCompatCreateViewHolder(View realContentView, int viewType) { MyViewHolder holder = new MyViewHolder(realContentView); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.setItem(items.get(position)); } @Override public int getItemCount() { return items.size(); } public void setItems(List<ResolveInfoWrap> items) { this.items = items; } public void setOnItemClickListener(OnItemClickListener onItemClickListener) { mOnItemClicklitener = onItemClickListener; } public interface OnItemClickListener { void onItemClicked(ResolveInfoWrap item); } class MyViewHolder extends RecyclerView.ViewHolder { public MyViewHolder(View itemView) { super(itemView); } public void setItem(ResolveInfoWrap appItem) { ((ImageView) itemView.findViewById(R.id.app_icon)).setImageDrawable(appItem.resolveInfo.loadIcon(mContext.getPackageManager())); itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mOnItemClicklitener != null) { mOnItemClicklitener.onItemClicked(appItem); } } }); } } }