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;
}
}