public class BsicsAdapter extends RecyclerView.Adapter<BsicsAdapter.ViewHolder>{ private List<CommontBean.BaseTypeFormMapsBean> mBaseBeanList; private Context mContext; private OnItemClickListener mOnItemClickListener; public interface OnItemClickListener{ void onImageClick(View v, int position); void onClick(View v,int position); } public void setOnItemClickListener(OnItemClickListener onItemClickListener) { mOnItemClickListener = onItemClickListener; } static class ViewHolder extends RecyclerView.ViewHolder{ LinearLayout styleView; ImageView styleImage; TextView styleText; public ViewHolder(View view) { super(view); styleView=view.findViewById(R.id.classify_item); styleImage=view.findViewById(R.id.base_image); styleText=view.findViewById(R.id.base_name); } } public BsicsAdapter(List<CommontBean.BaseTypeFormMapsBean> baseBeanList, Context context) { mBaseBeanList = baseBeanList; mContext = context; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.classify_item,parent,false); ViewHolder holder=new ViewHolder(view); return holder; } @Override public void onBindViewHolder(@NonNull ViewHolder holder, final int position) { CommontBean.BaseTypeFormMapsBean baseBean=mBaseBeanList.get(position); RequestOptions options = new RequestOptions() .placeholder(R.drawable.file_image) .error(R.drawable.file_image) .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC); Glide.with(mContext).load(baseBean.getImage()).apply(options).into(holder.styleImage); holder.styleText.setText(baseBean.getName()); if(mOnItemClickListener!=null){ holder.styleView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { mOnItemClickListener.onClick(view,position); } }); } } @Override public int getItemCount() { return mBaseBeanList.size(); } }
ProductFragment
public class ProductFragment extends BaseFragment implements BsicsAdapter.OnItemClickListener{ private Toolbar toolbar; private TextView toolbarTitle; RecyclerView mRecyclerView; private List<CommontBean.BaseTypeFormMapsBean> mBaseTypeFormMapsBeans = new ArrayList<>(); Gson gson = new Gson(); OkHttpManger okHttpManger = new OkHttpManger(); BsicsAdapter adapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fragment_product,null); mRecyclerView=view.findViewById(R.id.recycle_view_product); toolbar=view.findViewById(R.id.toolbar); toolbarTitle=view.findViewById(R.id.tv_title); toolbarTitle.setText("大唐天下墙纸墙布"); toolbarTitle.setTextSize(20); StaggeredGridLayoutManager layoutManager=new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL); mRecyclerView.setLayoutManager(layoutManager); initView(); return view; } @Override protected void initView() { okHttpManger.post() .addParam("parentId", "product") .url(Constant.SERVER_IP_WEB + Constant.COMMON) .enqueue(new RawResponseHandler() { @Override public void onSuccess(int statusCode, String response) { //获取到数据 CommontBean commontBean=gson.fromJson(response,new TypeToken<CommontBean>(){}.getType()); if( commontBean.getBaseTypeFormMaps().size()>0){ //对数据进行处理 displayPic(response); }else { Toast.makeText(getActivity(),R.string.no_message,Toast.LENGTH_LONG).show(); } } @Override public void onFailure(int statusCode, String error_msg) { Log.i("123",error_msg); } }); } private void displayPic(String response) { CommontBean commontBean=gson.fromJson(response,new TypeToken<CommontBean>(){}.getType()); mBaseTypeFormMapsBeans = commontBean.getBaseTypeFormMaps(); adapter = new BsicsAdapter( commontBean.getBaseTypeFormMaps(),getActivity()); mRecyclerView.setAdapter(adapter); adapter.setOnItemClickListener(this); } @Override public void onImageClick(View v, int position) { } @Override public void onClick(View v, int position) { Intent intent=new Intent(getActivity(),SortDisplayOneActivity.class); intent.putExtra("title", mBaseTypeFormMapsBeans.get(position).getName()); intent.putExtra("id",mBaseTypeFormMapsBeans.get(position).getId()); intent.putExtra("type","unRecommend"); startActivity(intent); } }