Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ImageView;
- import android.widget.TextView;
- import java.util.List;
- public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
- private List<WeatherForecast> forecasts;
- private ItemClickListener clickListener;
- public static final int ITEM_TYPE_FIRST = 0;
- public static final int ITEM_TYPE_NORMAL = 1;
- public MyAdapter(List<WeatherForecast> forecasts) {
- this.forecasts = forecasts;
- }
- @Override
- public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- if (viewType == ITEM_TYPE_FIRST) {
- View firstView = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.rcview_forecast_today_item, parent, false);
- return new FirstViewHolder(firstView);
- } else if (viewType == ITEM_TYPE_NORMAL) {
- View normalView = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.rcview_forecast_item, parent, false);
- return new NormalViewHolder(normalView);
- }
- return null;}
- @Override
- public int getItemViewType(int position) {
- // here your custom logic to choose the view type
- return position == 0 ? ITEM_TYPE_FIRST : ITEM_TYPE_NORMAL;
- }
- @Override
- public void onBindViewHolder(RecyclerView.ViewHolder holder, int i) {
- switch (holder.getItemViewType()) {
- case ITEM_TYPE_FIRST:
- FirstViewHolder firstViewHolder = (FirstViewHolder) holder;
- break;
- case ITEM_TYPE_NORMAL:
- NormalViewHolder normalViewHolder = (NormalViewHolder) holder;
- break;
- }
- }
- @Override
- public int getItemCount() {
- return forecasts.size();
- }
- public void setClickListener (ItemClickListener itemClickListener) {
- this.clickListener = itemClickListener;
- }
- public class FirstViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
- private TextView t_temp;
- private ImageView t_temp_units;
- private TextView t_weather;
- private ImageView t_weather_img;
- public FirstViewHolder(View itemView) {
- super(itemView);
- t_temp = (TextView) itemView.findViewById(R.id.todays_forecast_item_temp);
- t_weather = (TextView) itemView.findViewById(R.id.todays_forecast_item_weather);
- t_weather_img = (ImageView) itemView.findViewById(R.id.todays_forecast_item_image);
- t_temp_units = (ImageView) itemView.findViewById(R.id.todays_forecast_item_temp_units);
- itemView.setOnClickListener(this);
- }
- @Override
- public void onClick(View v) {
- if (clickListener != null) clickListener.onClick(v, getAdapterPosition());
- }
- }
- public class NormalViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
- private TextView temp, weather, date;
- private ImageView weather_img;
- public NormalViewHolder(View itemView) {
- super(itemView);
- temp = (TextView) itemView.findViewById(R.id.rcview_forecast_temp);
- weather = (TextView)itemView.findViewById(R.id.rcview_forecast_weather);
- date = (TextView)itemView.findViewById(R.id.rcview_forecast_date);
- weather_img = (ImageView)itemView.findViewById(R.id.rcview_forecast_img);
- }
- @Override
- public void onClick(View v) {
- if (clickListener != null) clickListener.onClick(v, getAdapterPosition());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment