I am working on an android application that has a custom listview that 
contains an imageview and a textview. I am loading an image from the 
internet and converting it into a bitmap image. I am doing this using an 
async task.  I am trying to display the bitmap in the imageview. When the 
activity starts I am only able to see a black screen and I don't see any 
listview. I would appreciate any help. Here is my code: 

 public class CustomList {

public Bitmap icon;
    public String title;
    public CustomList(){
        super();
    }
    
    public CustomList(Bitmap icon, String title) {
        super();
        this.icon = icon;
        this.title = title;
    }
}


Here is my adapter class: 


public class CustomListAdapter extends ArrayAdapter<CustomList> {

Context context;
int layoutResourceId;
LinkedList<CustomList> data = new LinkedList<CustomList>();
 public CustomListAdapter(Context context, int layoutResourceId,
LinkedList<CustomList> data) {
super(context, layoutResourceId, data);
// TODO Auto-generated constructor stub
 this.context = context;
this.layoutResourceId = layoutResourceId;
this.data = data;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View row = convertView;
CustomListHolder holder = null;
 if(row == null){
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);
            holder = new CustomListHolder();

    holder.text = (TextView)row.findViewById(R.id.txtTitle);
    holder.thumbnail = (ImageView)row.findViewById(R.id.imgIcon);
    row.setTag(holder);
}
 else
holder = (CustomListHolder)row.getTag();
 CustomList cl = data.get(position);
        holder.text.setText(cl.title);
        if(cl.icon != null)
        holder.thumbnail.setImageBitmap(cl.icon);
        
 return row;
 }
 static class CustomListHolder
    {
        ImageView thumbnail;
        TextView text;
    }

}


Here is my main activity and it has an async class as a sub class: 

public class MainActivity extends Activity {
 LinkedList<CustomList> list_data = new LinkedList<CustomList>();
LinkedList<String> photo_url = new LinkedList<String>();
LinkedList<String> list_title = new LinkedList<String>();
ListView lv ;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list_main);
        
photo_url.add(0,"http://java.sogeti.nl/JavaBlog/wp-content/uploads/2009/04/android_icon_256.png";);
        list_title.add(0, "Android");
        LoadImage eventImageLoader = new LoadImage(MainActivity.this, 
photo_url, list_title);
        eventImageLoader.execute();
        
        CustomListAdapter adapter = new 
CustomListAdapter(this,R.layout.list_item, list_data);
    lv = (ListView)findViewById(R.id.listView1);
    lv.setAdapter(adapter);
      
    }
       
    public class LoadImage extends AsyncTask<Void, Void, 
LinkedList<CustomList>>{

    Context callingContext = null;
    LinkedList<String> pic_url = new LinkedList<String>();
    LinkedList<String> title = new LinkedList<String>();
    Bitmap b = null;
    LinkedList<Bitmap> bm = new LinkedList<Bitmap>();
    
    public LoadImage(Context callingContext, LinkedList<String> pic_url, 
LinkedList<String> title){
    
    this.callingContext = callingContext;
    this.pic_url = pic_url;
    this.title = title;
    }
    
@Override
protected LinkedList<CustomList> doInBackground(Void... params) {
// TODO Auto-generated method stub
 URL imageUrl;
CustomList temp;
for(int i = 0; i < pic_url.size(); i++)
        {           
try {
imageUrl = new URL(pic_url.get(i));
temp = new 
CustomList(BitmapFactory.decodeStream(imageUrl.openConnection().getInputStream()),title.get(i));
list_data.add(i,temp);
System.out.println("Added" + i + "th Value");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}            
        }
 return list_data; 
}
    
protected void onPostExecute(LinkedList<CustomList> bm) {
// TODO Auto-generated method stub
super.onPostExecute(bm);

} 
    }   
}

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to