2011-03-03 60 views
0

我有我的Facebook好友列表,我创建这是使用到十二月Android的形象自定义适配器没有加载

分离器从一月月

我可以列表我的朋友的细节,我的问题是,列表视图我能够显示他们的姓名和生日日期,如果我尝试加载他们的“PICTURES”我不能这样做。

它显示我设置为XML背景的图标。

即使URL的图像进行负载的就是印在日志中,但我不能得到的图像..

这里是我的代码

private class MyCustomAdapter extends BaseAdapter { 
    private static final int TYPE_ITEM = 0; 
    private static final int TYPE_SEPARATOR = 1; 
    private static final int TYPE_MAX_COUNT = TYPE_SEPARATOR + 1; 
    private LayoutInflater mInflater; 
    private TreeSet<Integer> mSeparatorsSet = new TreeSet<Integer>(); 
    public MyCustomAdapter() { 
     mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     mData = new ArrayList<Category>(); 
    } 
    public void addItem(final Category item) { 
     mData.add(item); 
     notifyDataSetChanged(); 
    } 
    public void addSeparatorItem(final Category item) { 
     mData.add(item); 
     // save separator position 
     mSeparatorsSet.add(mData.size() - 1); 
     notifyDataSetChanged(); 
    } 
    @Override 
    public int getItemViewType(int position) { 
     return mSeparatorsSet.contains(position) ? TYPE_SEPARATOR : TYPE_ITEM; 
    } 
    @Override 
    public int getViewTypeCount() { 
     return TYPE_MAX_COUNT; 
    } 
    @Override 
    public int getCount() { 
     return mData.size(); 
    } 
    @Override 
    public Category getItem(int position) { 
     return mData.get(position); 
    } 
    @Override 
    public long getItemId(int position) { 
     return position; 
    } 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ViewHolder holder = null; 
     int type = getItemViewType(position); 
     System.out.println("getView " + position + " " + convertView + " type = " + type); 
     Category category = mData.get(position); 
     holder = new ViewHolder(); 
     if (convertView == null) { 
      switch (type) { 
       case TYPE_ITEM: 
        convertView = mInflater.inflate(R.layout.item1, null); 
        holder.textView = (TextView)convertView.findViewById(R.id.text); 
        holder.textView1 = (TextView)convertView.findViewById(R.id.text1); 
        holder.icon = (ImageView) convertView.findViewById(R.id.friend_photo); 
        break; 
       case TYPE_SEPARATOR: 
        convertView = mInflater.inflate(R.layout.item2, null); 
        holder.textView = (TextView)convertView.findViewById(R.id.textSeparator); 
        break; 
      } 
      convertView.setTag(holder); 
     } else { 
      if(type==TYPE_ITEM){ 
       holder.textView = (TextView)convertView.findViewById(R.id.text); 
       holder.textView1 = (TextView)convertView.findViewById(R.id.text1); 
       holder.icon = (ImageView) convertView.findViewById(R.id.friend_photo); 
       holder = (ViewHolder)convertView.getTag(); 
      }else{ 
       holder.textView = (TextView)convertView.findViewById(R.id.textSeparator); 
       holder = (ViewHolder)convertView.getTag(); 
      } 

     } 
     if(type==TYPE_SEPARATOR){ 
      holder.textView.setText(mData.get(position).dealTitle); 
     }else{ 
      holder.textView.setText(mData.get(position).dealTitle); 
       holder.textView1.setText(mData.get(position).dealDesc); 
       holder.icon.setTag(mData.get(position).picture); 
     } 


     return convertView; 
    } 

} 

回答

1

我不知道是什么类型的对象mData.get(position).picture是但

holder.icon.setTag(mData.get(position).picture); 

正在加载图片。这只是在View上设置一些数据。 您需要使用的setImage()方法之一。

0

您的代码看起来不错,有可能是与XML /布局文件有问题。

当您从每个项目的xml中加载两个textViews和一个ImageView时,了解如何组织布局以显示所有添加的视图非常重要。

请张贴布局文件,以便可以建议是否有任何问题。

+0

感谢您的回复。我通过使用setImageBitmap()得到它。 – Venky 2011-03-04 13:28:57

相关问题