package com.bdyjy.adapter; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.util.Map; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.text.TextUtils; 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.ListView; import android.widget.TextView; import com.bdyjy.R; import com.bdyjy.util.PropetiesFileReaderUtil; /** * ����Ҫ�����ŵ�adapter * * @author �ܺ�<br/> * create at 2016-4-28 ����11:31:52 */ public class NanyanNewsListViewAdapter extends BaseAdapter { private Context context; // ���������� private List<Map<String, Object>> listItems; // ������Ϣ���� private LayoutInflater listContainer; // ��ͼ���� private ListView lv; public final class ListItemViewHolder { // �Զ���ؼ����� public com.loopj.android.image.SmartImageView image; public TextView title; public TextView tv_news_id; public TextView tv_sourcefrom; public TextView tv_date; } public NanyanNewsListViewAdapter(Context context, List<Map<String, Object>> listItems, ListView lv) { this.context = context; listContainer = LayoutInflater.from(context); // ������ͼ���������������� this.listItems = listItems; this.lv = lv; } public int getCount() { return listItems.size(); } public Object getItem(int arg0) { return null; } public long getItemId(int arg0) { return 0; } /** * ListView Item���� */ public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub // Log.e("method", "getView"); final int selectID = position; // �Զ�����ͼ ListItemViewHolder listItemViewHolder = null; if (convertView == null) { listItemViewHolder = new ListItemViewHolder(); // ��ȡlist_item�����ļ�����ͼ convertView = listContainer.inflate(R.layout.list_item, null); // ��ȡ�ؼ����� listItemViewHolder.image = (com.loopj.android.image.SmartImageView) convertView .findViewById(R.id.imageItem); listItemViewHolder.title = (TextView) convertView .findViewById(R.id.titleItem); listItemViewHolder.tv_news_id = (TextView) convertView .findViewById(R.id.tv_news_id); listItemViewHolder.tv_date = (TextView) convertView .findViewById(R.id.tv_date); listItemViewHolder.tv_sourcefrom = (TextView) convertView .findViewById(R.id.tv_sourcefrom); // ���ÿؼ�����convertView convertView.setTag(listItemViewHolder); } else { listItemViewHolder = (ListItemViewHolder) convertView.getTag(); } // �������ֺ�ͼƬ String thumb = (String) listItems.get(position).get("thumb"); // ���ͼƬthumbΪ�ա��Ͳ���ʾͼƬlayout if (TextUtils.isEmpty(thumb)) { listItemViewHolder.image.setVisibility(View.INVISIBLE); // listItemViewHolder.image.setImageResource(R.drawable.default_image); } else { // System.out.println("����Ҫ��ʾͼƬ:"+thumb); listItemViewHolder.image.setImageUrl(thumb, R.drawable.default_image); } listItemViewHolder.title.setText((String) listItems.get(position).get( "title")); listItemViewHolder.tv_news_id.setText((String) listItems.get(position) .get("news_id")); listItemViewHolder.tv_sourcefrom.setText((String) listItems.get( position).get("sourcefrom")); listItemViewHolder.tv_date.setText((String) listItems.get(position) .get("date")); return convertView; } public void refresh(List<Map<String, Object>> listItems) { // ����this.listItems for (Map<String, Object> map : this.listItems) { System.out.println("map:" + map); } notifyDataSetChanged(); } public Bitmap returnBitMap(String url) { URL myFileUrl = null; Bitmap bitmap = null; try { myFileUrl = new URL(url); } catch (MalformedURLException e) { e.printStackTrace(); } try { HttpURLConnection conn = (HttpURLConnection) myFileUrl .openConnection(); conn.setDoInput(true); conn.connect(); InputStream is = conn.getInputStream(); bitmap = BitmapFactory.decodeStream(is); is.close(); } catch (IOException e) { e.printStackTrace(); } return bitmap; } }