package com.example.threadpool;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
public class MainActivity extends Activity {
private GridView view;
private MyAdapter myAdapter;
private List list=new ArrayList();
private Handler handler;
private OnScrollListener onScrollListener;
private LoadImage mImageLoader=new LoadImage();
@Override
public void onCreate(Bundle savedInstanceState) {a
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
view=(GridView) findViewById(R.id.gridview);
myAdapter=new MyAdapter(this);
myAdapter.SetList(list);
view.setAdapter(myAdapter);
view.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
mImageLoader.doTask();
}
});
new Thread(){
public void run() {
for(int i=0;i<10000;i++){
list.add("http://img.popoho.com/UploadPic/2009-9/200992610718781.jpg");
}
handler.sendEmptyMessage(0);
};
}.start();
handler=new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
if(msg.what==0){
myAdapter.notifyDataSetChanged();
}
super.handleMessage(msg);
}
};
}
public class MyAdapter extends BaseAdapter{
private List list=new ArrayList();
private Context context;
public MyAdapter(Context context){
this.context=context;
}
public void SetList(List list){
this.list=list;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final ViewHold holder;
final int index=position;
if(convertView==null){
convertView=View.inflate(context, R.layout.gridviewitem, null);
holder=new ViewHold();
holder.image=(ImageView) convertView.findViewById(R.id.imageview);
convertView.setTag(holder);
}else {
holder=(ViewHold) convertView.getTag();
}
mImageLoader.addTask(list.get(index), holder.image);
return convertView;
}
}
public class ViewHold{
private ImageView image;
}
}