zoukankan      html  css  js  c++  java
  • RecyclerView不同类型Item的展示

    代码如下:

    public class AccessoiresAdapter extends RecyclerView.Adapter {
    
      final int VIEW_TYPE_ACCESSORY = 0;
      final int VIEW_TYPE_ACCESSORY_SPECIAL_OFFER = 1;
    
      List<Accessory> items;
    
      @Override public int getItemViewType(int position) {
         Accessory accessory = items.get(postion);
         if (accessory.hasSpecialOffer()){
           return VIEW_TYPE_ACCESSORY_SPECIAL_OFFER;
         } else {
           return VIEW_TYPE_ACCESSORY;
         }
      }
    
      @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        if (VIEW_TYPE_ACCESSORY_SPECIAL_OFFER == viewType){
          return new SpecialOfferAccessoryViewHolder(inflater.inflate(R.layout.item_accessory_offer, parent));
        } else {
          return new AccessoryViewHolder (inflater.inflate(R.layout.item_accessory)):
        }
      }
    
      ...
    
    }
    

      

    public class HomeAdapter extends AccessoriesAdapter {
    
      final int VIEW_TYP_NEWS_TEASER = 2;
    
      @Override public int getItemViewType(int position) {
         if (items.get(position) instanceof NewsTeaser){
           return VIEW_TYP_NEWS_TEASER;
         } else {
           // accessories and special offers
           return super.getItemViewType(position);
         }
      }
    
      @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        if (VIEW_TYP_NEWS_TEASER == viewType){
          return new NewsTeaserItem( inflater.inflate(R.layout.item_news_teaser, parent));
        } else {
          // accessories and special offers
          return super.onCreateViewHolder(parent, viewType);
        }
      }
    
      ...
    }
    

      

    From:http://hannesdorfmann.com/android/adapter-delegates

  • 相关阅读:
    ftl总结
    关于button的自动刷新
    判断json格式中是否含有key
    main方法的参数
    开发笔记--java.lang.OutOfMemoryError: PermGen space异常处理
    C/C++混合编程
    MFC 模块状态的实现
    类的私有private构造函数 ,为什么要这样做
    MFC DLL 导出函数的定义方式
    关于 AfxGetStaticModuleState ()
  • 原文地址:https://www.cnblogs.com/spring87/p/5427430.html
Copyright © 2011-2022 走看看