2013-08-01 57 views
3

我包括我的列表視圖適配器的代碼下面的所有工作正常,除非圖像沒有從網址加載。可能是這樣。我正在使用Android查詢庫來加載圖像。Android查詢列表查看圖片加載

public Onadapter(Context context,String[] id,String[] label,String[] title,String[] image,String[] hrs,String[] posted_date) 
    { 
     this.context=context; 
     this.id = id; 
     this.label = label; 
     this.title = title; 
     this.image = image; 
     this.hrs = hrs; 
     this.posted_date=posted_date; 


    } 

    private class ViewHolder{ 
     ImageView img; 
     TextView id; 
     TextView label; 
     TextView title; 
     TextView hrs; 
     TextView posted_date; 

    } 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ViewHolder holder = null; 

     LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
     if (convertView == null) { 
      convertView = mInflater.inflate(R.layout.whatslist, null); 
      holder = new ViewHolder(); 
      holder.id=(TextView) convertView.findViewById(R.id.whats_id); 
      holder.img = (ImageView) convertView.findViewById(R.id.thumb1); 
      holder.label= (TextView) convertView.findViewById(R.id.label); 
      holder.title = (TextView) convertView.findViewById(R.id.artist_e_desc); 
      holder.hrs = (TextView) convertView.findViewById(R.id.hrs); 
      holder.posted_date = (TextView) convertView.findViewById(R.id.date); 

      convertView.setTag(holder); 
     } 
     else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 

     holder.id.setText(id[position]); 
     holder.label.setText(label[position]); 
     holder.title.setText(title[position]); 
     holder.hrs.setText(hrs[position]); 
     holder.posted_date.setText(posted_date[position]); 
     imgaq = new AQuery(convertView); 
     imgaq.id(holder.img).image(image[position], true, true, 0, 0, null, AQuery.FADE_IN_NETWORK, 1.0f); 
     return convertView; 
    } 


    @Override 
     public int getCount() { 
      // TODO Auto-generated method stub 
      return image.length; 
     } 


     @Override 
     public long getItemId(int position) { 
      // TODO Auto-generated method stub 
      return position; 
     } 


     @Override 
     public Object getItem(int position) { 
      // TODO Auto-generated method stub 
      return null; 
     } 




} 

回答

0

原來我錯誤地引用了imageview.Silly我的XML資源:

0

我會寫這行:

imgaq = new AQuery(convertView); 

在適配器的構造,並通過上下文AQuery構造函數,而不是視圖。特別是convertView有時爲空,所以你與空初始化AQuery

public Onadapter(Context context,String[] id,String[] label,String[] title,String[] image,String[] hrs,String[] posted_date) 
{ 
    this.context=context; 
    this.id = id; 
    this.label = label; 
    this.title = title; 
    this.image = image; 
    this.hrs = hrs; 
    this.posted_date=posted_date; 

    this.aq = new AQuery(context); 

} 
+0

沒有做任何好處:( –

+0

確保URL傳遞給Aquety是正確的也許嘗試較短的版本:aq.id(tileViewHolder.ivImage)圖像配(URL,真實,真實); – Malachiasz

+0

香港專業教育學院使用aquery對於我的viewpager我的自定義pageradapter獲得圖像與相同的網址,它工作正常!我不認爲有問題的網址。 –

5

也許你最好使用回收d()

我認爲getView()方法中每次都不是新方法。

AQuery listAq = new AQuery(this); 

public View getView(int position, View convertView, ViewGroup parent) { 
    ViewHolder holder = null; 

    LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
    if (convertView == null) { 
     convertView = mInflater.inflate(R.layout.whatslist, null); 
     holder = new ViewHolder(); 
     holder.id=(TextView) convertView.findViewById(R.id.whats_id); 
     holder.img = (ImageView) convertView.findViewById(R.id.thumb1); 
     holder.label= (TextView) convertView.findViewById(R.id.label); 
     holder.title = (TextView) convertView.findViewById(R.id.artist_e_desc); 
     holder.hrs = (TextView) convertView.findViewById(R.id.hrs); 
     holder.posted_date = (TextView) convertView.findViewById(R.id.date); 

     convertView.setTag(holder); 
    } 
    else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 

    holder.id.setText(id[position]); 
    holder.label.setText(label[position]); 
    holder.title.setText(title[position]); 
    holder.hrs.setText(hrs[position]); 
    holder.posted_date.setText(posted_date[position]); 

    AQuery imgaq = listAq.recycle(convertView); 
    imgaq.id(holder.img).image(image[position], true, true, 0, 0, null, AQuery.FADE_IN_NETWORK, 1.0f); 
    return convertView; 
}