Guest User

Untitled

a guest
Aug 30th, 2016
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.83 KB | None | 0 0
  1.  
  2.  
  3. import android.support.v7.widget.RecyclerView;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.ImageView;
  8. import android.widget.TextView;
  9.  
  10. import java.util.List;
  11.  
  12.  
  13. public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>  {
  14.     private List<WeatherForecast> forecasts;
  15.     private ItemClickListener clickListener;
  16.     public static final int ITEM_TYPE_FIRST = 0;
  17.     public static final int ITEM_TYPE_NORMAL = 1;
  18.  
  19.  
  20.     public MyAdapter(List<WeatherForecast> forecasts) {
  21.  
  22.         this.forecasts = forecasts;
  23.     }
  24.  
  25.  
  26.     @Override
  27.     public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  28.         if (viewType == ITEM_TYPE_FIRST) {
  29.             View firstView = LayoutInflater.from(parent.getContext())
  30.                     .inflate(R.layout.rcview_forecast_today_item, parent, false);
  31.  
  32.             return new FirstViewHolder(firstView);
  33.         } else if (viewType == ITEM_TYPE_NORMAL) {
  34.             View normalView = LayoutInflater.from(parent.getContext())
  35.                     .inflate(R.layout.rcview_forecast_item, parent, false);
  36.             return new NormalViewHolder(normalView);
  37.         }
  38.         return null;}
  39.  
  40.     @Override
  41.     public int getItemViewType(int position) {
  42.         // here your custom logic to choose the view type
  43.         return position == 0 ? ITEM_TYPE_FIRST : ITEM_TYPE_NORMAL;
  44.     }
  45.  
  46.     @Override
  47.         public void onBindViewHolder(RecyclerView.ViewHolder holder, int i) {
  48.  
  49.         switch (holder.getItemViewType()) {
  50.  
  51.             case ITEM_TYPE_FIRST:
  52.                 FirstViewHolder firstViewHolder = (FirstViewHolder) holder;
  53.                
  54.                 break;
  55.             case ITEM_TYPE_NORMAL:
  56.                 NormalViewHolder normalViewHolder = (NormalViewHolder) holder;
  57.                 break;
  58.  
  59.         }
  60.  
  61.     }
  62.  
  63.  
  64.  
  65.     @Override
  66.     public int getItemCount() {
  67.         return forecasts.size();
  68.     }
  69.  
  70.     public void setClickListener (ItemClickListener itemClickListener) {
  71.         this.clickListener = itemClickListener;
  72.     }
  73.  
  74.  
  75.     public class FirstViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
  76.         private TextView t_temp;
  77.         private ImageView t_temp_units;
  78.         private TextView t_weather;
  79.         private ImageView t_weather_img;
  80.  
  81.  
  82.  
  83.         public FirstViewHolder(View itemView) {
  84.             super(itemView);
  85.             t_temp =          (TextView) itemView.findViewById(R.id.todays_forecast_item_temp);
  86.             t_weather =       (TextView) itemView.findViewById(R.id.todays_forecast_item_weather);
  87.             t_weather_img =   (ImageView) itemView.findViewById(R.id.todays_forecast_item_image);
  88.             t_temp_units =    (ImageView) itemView.findViewById(R.id.todays_forecast_item_temp_units);
  89.             itemView.setOnClickListener(this);
  90.         }
  91.  
  92.         @Override
  93.         public void onClick(View v) {
  94.             if (clickListener != null) clickListener.onClick(v, getAdapterPosition());
  95.         }
  96.     }
  97.  
  98.     public class NormalViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
  99.         private TextView temp, weather, date;
  100.         private ImageView weather_img;
  101.  
  102.         public NormalViewHolder(View itemView) {
  103.             super(itemView);
  104.             temp = (TextView) itemView.findViewById(R.id.rcview_forecast_temp);
  105.             weather = (TextView)itemView.findViewById(R.id.rcview_forecast_weather);
  106.             date = (TextView)itemView.findViewById(R.id.rcview_forecast_date);
  107.             weather_img = (ImageView)itemView.findViewById(R.id.rcview_forecast_img);
  108.         }
  109.  
  110.  
  111.         @Override
  112.         public void onClick(View v) {
  113.             if (clickListener != null) clickListener.onClick(v, getAdapterPosition());
  114.         }
  115.     }
  116.  
  117. }
Advertisement
Add Comment
Please, Sign In to add comment