package com.liuguilin.lovewallpaper.adapter;
/*
* 项目名: LoveWallpaper
* 包名: com.liuguilin.lovewallpaper.adapter
* 文件名: WeatherGradAdapter
* 创建者: LGL
* 创建时间: 2017/1/11 19:50
* 描述: 天气列表
*/
import android.content.Context;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.liuguilin.lovewallpaper.R;
import com.liuguilin.lovewallpaper.entity.Constants;
import com.liuguilin.lovewallpaper.model.WeatherGridModel;
import com.liuguilin.lovewallpaper.utils.L;
import java.util.List;
public class WeatherGradAdapter extends BaseAdapter {
public static final int VALUE_TEXT = 1;
public static final int VALUE_IMAGE = 2;
private Context mContext;
private LayoutInflater mInflater;
private List<WeatherGridModel> mList;
private WeatherGridModel model;
public WeatherGradAdapter(Context mContext, List<WeatherGridModel> mList) {
this.mContext = mContext;
this.mList = mList;
mInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return mList.size();
}
@Override
public Object getItem(int i) {
return mList.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
model = mList.get(i);
int type = getItemViewType(i);
ViewHolderText viewHolderText = null;
ViewHolderImage viewHolderImage = null;
if (view == null) {
switch (type) {
case VALUE_TEXT:
viewHolderText = new ViewHolderText();
view = mInflater.inflate(R.layout.fragment_weather_text, null);
viewHolderText.tv_weather_text = (TextView) view.findViewById(R.id.tv_weather_text);
viewHolderText.iv_weather_text_image = (ImageView) view.findViewById(R.id.iv_weather_text_image);
view.setTag(viewHolderText);
break;
case VALUE_IMAGE:
viewHolderImage = new ViewHolderImage();
view = mInflater.inflate(R.layout.fragment_weather_image, null);
viewHolderImage.iv_weather_image = (ImageView) view.findViewById(R.id.iv_weather_image);
viewHolderImage.tv_weather_image_text = (TextView) view.findViewById(R.id.tv_weather_image_text);
view.setTag(viewHolderImage);
break;
}
} else {
switch (type) {
case VALUE_TEXT:
viewHolderText = (ViewHolderText) view.getTag();
break;
case VALUE_IMAGE:
viewHolderImage = (ViewHolderImage) view.getTag();
break;
}
}
switch (type) {
case VALUE_TEXT:
viewHolderText.tv_weather_text.setText(model.getText());
if (!TextUtils.isEmpty(model.getText())) {
viewHolderText.iv_weather_text_image.setBackgroundResource(Constants.WEATHER_ICON[model.getCode()]);
}
break;
case VALUE_IMAGE:
String text = model.getText();
viewHolderImage.tv_weather_image_text.setText(text);
if (text.startsWith("洗车")) {
viewHolderImage.iv_weather_image.setBackgroundResource(Constants.WEATHER_LIFE_ICON[0]);
} else if (text.startsWith("穿衣")) {
viewHolderImage.iv_weather_image.setBackgroundResource(Constants.WEATHER_LIFE_ICON[1]);
} else if (text.startsWith("感冒")) {
viewHolderImage.iv_weather_image.setBackgroundResource(Constants.WEATHER_LIFE_ICON[2]);
} else if (text.startsWith("运动")) {
viewHolderImage.iv_weather_image.setBackgroundResource(Constants.WEATHER_LIFE_ICON[3]);
} else if (text.startsWith("旅游")) {
viewHolderImage.iv_weather_image.setBackgroundResource(Constants.WEATHER_LIFE_ICON[4]);
} else if (text.startsWith("紫外线")) {
viewHolderImage.iv_weather_image.setBackgroundResource(Constants.WEATHER_LIFE_ICON[5]);
}
break;
}
return view;
}
@Override
public int getItemViewType(int position) {
WeatherGridModel model = mList.get(position);
int type = model.getType();
return type;
}
@Override
public int getViewTypeCount() {
return 3;
}
class ViewHolderText {
private TextView tv_weather_text;
private ImageView iv_weather_text_image;
}
class ViewHolderImage {
private TextView tv_weather_image_text;
private ImageView iv_weather_image;
}
}