package com.hupu.games.adapter; import java.util.LinkedList; import android.content.Context; import android.graphics.Color; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import com.hupu.games.HuPuApp; import com.hupu.games.R; import com.hupu.games.activity.HupuHomeActivity; import com.hupu.games.common.SharedPreferencesMgr; import com.hupu.games.data.news.NewsEntity; import com.hupu.games.db.HuPuDBAdapter; import com.hupu.games.fragment.NewsFragment; import com.koushikdutta.urlimageviewhelper.UrlImageViewHelper; /** * 比赛统计数据 * */ public class NewsListAdapter extends BaseAdapter { private LinkedList<NewsEntity> mListData; private LayoutInflater mInflater; NewsFragment newFragment; boolean isMobleNet; Context mContext; HuPuDBAdapter mDbAdapter; HupuHomeActivity mAct; public NewsListAdapter(Context context) { mInflater = LayoutInflater.from(context); mDbAdapter = new HuPuDBAdapter(mContext); mContext = context; } public boolean checkNetIs2Gor3G() { ConnectivityManager connManager = (ConnectivityManager) mContext .getSystemService(mContext.CONNECTIVITY_SERVICE); NetworkInfo info = connManager.getActiveNetworkInfo(); if (info != null && info.getType() == ConnectivityManager.TYPE_MOBILE) { return true; // NETWORK_TYPE_EVDO_A是电信3G // NETWORK_TYPE_EVDO_A是中国电信3G的getNetworkType // NETWORK_TYPE_CDMA电信2G是CDMA // 移动2G卡 + CMCC + 2//type = NETWORK_TYPE_EDGE // 联通的2G经过测试 China Unicom 1 NETWORK_TYPE_GPRS // if(info.getSubtype() == TelephonyManager.NETWORK_TYPE_GPRS // || info.getSubtype() == TelephonyManager.NETWORK_TYPE_CDMA // || info.getSubtype() == TelephonyManager.NETWORK_TYPE_EDGE){ // System.out.println("mobile connected"); // } // else{ // System.out.println("type:"+info.getSubtype()); // System.out.println("not mobile"); // } } else return false; } public void setData(LinkedList<NewsEntity> data) { mListData = data; isMobleNet = checkNetIs2Gor3G(); notifyDataSetChanged(); } public void setAct(HupuHomeActivity act){ mAct = act; } class Holder { RelativeLayout newsItemLayout; TextView txtContent; TextView txtTitle; ImageView newsImg; TextView txtNum; TextView lightNum; ImageView lightIc; TextView topType; } @Override public NewsEntity getItem(int position) { if (mListData == null) return null; return mListData.get(position); } @Override public long getItemId(int position) { return 0; } @Override public int getCount() { if (mListData == null) return 0; return mListData.size(); } public void clear() { if (mListData != null) mListData.clear(); mListData =null; notifyDataSetChanged(); } @Override public View getView(int pos, View contentView, ViewGroup arg2) { Holder item = null; NewsEntity entity = mListData.get(pos); if (contentView == null) { contentView = mInflater.inflate(R.layout.item_news, null); item = new Holder(); item.newsItemLayout = (RelativeLayout) contentView.findViewById(R.id.item_news_layout); item.txtContent = (TextView) contentView .findViewById(R.id.txt_content); item.txtTitle = (TextView) contentView.findViewById(R.id.txt_title); item.txtNum = (TextView) contentView.findViewById(R.id.txt_nums); item.lightNum = (TextView) contentView.findViewById(R.id.light_nums); item.newsImg = (ImageView) contentView.findViewById(R.id.news_img); item.lightIc = (ImageView) contentView.findViewById(R.id.light_ic); item.topType = (TextView) contentView.findViewById(R.id.txt_top); contentView.setTag(item); } else { item = (Holder) contentView.getTag(); } item.txtTitle.setText(entity.title); if (mAct.mApp.getIsRead((int)entity.nid) == 1) { item.txtTitle.setTextColor(0xffaaaaaa); }else { item.txtTitle.setTextColor(Color.BLACK); } item.txtContent.setText(entity.summary); item.txtNum.setText(entity.replies+""); item.lightNum.setText(entity.lights); item.lightNum.setVisibility(entity.lights.equals("0") || entity.lights.equals("") ? View.GONE:View.VISIBLE); item.lightIc.setVisibility(entity.lights.equals("0") || entity.lights.equals("") ? View.GONE:View.VISIBLE); if (entity.topType != null) { if ("".equals(entity.topType)) { item.topType.setVisibility(View.GONE); }else { item.topType.setVisibility(View.VISIBLE); item.topType.setText(entity.topType); } }else { item.topType.setVisibility(View.GONE); } if (SharedPreferencesMgr.getBoolean("is_no_pic", true)) { if (UrlImageViewHelper.isLocalFile(mContext, entity.newsImg)) { UrlImageViewHelper.setUrlDrawable(item.newsImg,entity.newsImg,R.drawable.no_news_pic); }else { if (!isMobleNet) { UrlImageViewHelper.setUrlDrawable(item.newsImg,entity.newsImg,R.drawable.no_news_pic); }else item.newsImg.setImageResource(R.drawable.no_news_pic); } }else { UrlImageViewHelper.setUrlDrawable(item.newsImg,entity.newsImg,R.drawable.no_news_pic); } return contentView; } }