package com.simtice.cnbeta.adapter;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.TextView;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.simtice.cnbeta.R;
import com.simtice.cnbeta.bean.NewsList;
import com.simtice.cnbeta.util.CommonUtil;
import com.simtice.cnbeta.util.PreferencesUtil;
public class NewsListAdapter extends ImageLoadAdapter {
private List<NewsList> list = null;
private LayoutInflater inflater;
private Context context;
public NewsListAdapter(List<NewsList> list, Context context, PullToRefreshListView listview) {
super(context, listview);
this.list = list;
inflater = LayoutInflater.from(context);
this.context = context;
this.getLoader().setImageScaleType(ScaleType.FIT_CENTER);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public int getViewTypeCount() {
// TODO Auto-generated method stub
return 3;
}
@Override
public int getItemViewType(int position) {
// TODO Auto-generated method stub
if (!list.get(position).getTheme().equals("x")) {
return 1;
} else
return 2;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return list.get(arg0);
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
ViewHolder holder = null;
final int type = getItemViewType(arg0);
if (arg1 == null) {
switch (type) {
case 1:
arg1 = inflater.inflate(R.layout.news_list_item, null);
break;
case 2:
arg1 = inflater.inflate(R.layout.news_list_item1, null);
break;
}
holder = new ViewHolder();
holder.title = (TextView) arg1.findViewById(R.id.tv_newsitem_title);
holder.time = (TextView) arg1.findViewById(R.id.tv_newsitem_time);
holder.comm = (TextView) arg1.findViewById(R.id.tv_newsitem_com);
holder.image = (ImageView) arg1.findViewById(R.id.iv_newsitem_image);
holder.summary = (TextView) arg1.findViewById(R.id.tv_newsitem_summary);
arg1.setTag(holder);
} else {
holder = (ViewHolder) arg1.getTag();
}
String title = list.get(arg0).getTitle();
String time = " " + list.get(arg0).getPubtime();
int comNum = list.get(arg0).getCmtnum();
String str = "";
if (comNum == 0) {
str = "暂无评论";
} else {
str = String.valueOf(comNum);
}
holder.title.setText(title);
holder.title.getPaint().setFakeBoldText(true);
holder.time.setText(time);
holder.comm.setText(" " + str);
holder.summary.setText(CommonUtil.parseHtml(list.get(arg0).getSummary()));
switch (type) {
case 1:
if (PreferencesUtil.isNoShowPicIn2G(this.context)) {// 2G/3G下不现实图片
if (CommonUtil.isWifiConnect(this.context)) {// WIFI下显示图片
holder.summary.setVisibility(View.GONE);
holder.image.setVisibility(View.VISIBLE);
this.getLoader().setImageScaleType(ScaleType.CENTER_CROP);
this.loadImage(list.get(arg0).getTheme(), holder.image, this.getDefaultBitmap());
} else {
holder.summary.setVisibility(View.VISIBLE);
holder.image.setVisibility(View.GONE);
}
} else {
holder.summary.setVisibility(View.GONE);
holder.image.setVisibility(View.VISIBLE);
this.getLoader().setImageScaleType(ScaleType.CENTER_CROP);
this.loadImage(list.get(arg0).getTheme(), holder.image, this.getDefaultBitmap());
}
break;
case 2:
if (PreferencesUtil.isNoShowPicIn2G(this.context)) {// 2G/3G下不现实图片
if (CommonUtil.isWifiConnect(this.context)) {// WIFI下显示图片
// holder2.summary.setVisibility(View.GONE);
holder.image.setVisibility(View.VISIBLE);
this.getLoader().setImageScaleType(ScaleType.FIT_CENTER);
this.loadImage(list.get(arg0).getTopicLogo(), holder.image, this.getDefaultBitmap());
} else {
// holder2.summary.setVisibility(View.VISIBLE);
holder.image.setVisibility(View.GONE);
}
} else {
// holder2.summary.setVisibility(View.GONE);
holder.image.setVisibility(View.VISIBLE);
this.getLoader().setImageScaleType(ScaleType.FIT_CENTER);
this.loadImage(list.get(arg0).getTopicLogo(), holder.image, this.getDefaultBitmap());
}
break;
}
return arg1;
}
private static class ViewHolder {
TextView title;
TextView summary;
TextView time;
TextView comm;
ImageView image;
}
}