2012-04-17 65 views
-1

我想將arraylist(項目)的位置設置到我自己的listview適配器中。如何獲取arraylist在自己的適配器中的位置

holder.txtViewTitle.setText(title.get(position)); 

但我得到了錯誤。 請檢查以下代碼。

我也得到了setImageResource的錯誤。

holder.imgViewLogo.setImageResource(images[position]); 

謝謝。

public class LazyAdapter extends BaseAdapter{ 

private activites context; 
private ArrayList<String> title; 
private String[] images; 
private LayoutInflater inflater; 


public LazyAdapter(activites activites,String[] img ,ArrayList<String> items) { 
    super(); 

    this.context = activites; 
    this.title = items; 
    this.images = img; 

} 

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

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

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

public static class ViewHolder 
{ 
    ImageView imgViewLogo; 
    TextView txtViewTitle; 

} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 

    ViewHolder holder; 
    if(convertView==null) 
    { 
     holder = new ViewHolder(); 
     convertView = inflater.inflate(R.layout.activity_listitem, null); 

     holder.imgViewLogo = (ImageView) convertView.findViewById(R.id.activity_list_logo); 
     holder.txtViewTitle = (TextView) convertView.findViewById(R.id.activity_list_title); 

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

    holder.imgViewLogo.setImageResource(images[position]); 
    holder.txtViewTitle.setText(title.get(position)); 


    return convertView; 
} 

} 
+0

,如果你得到了error.post logcat的,,, – 2012-04-17 09:43:40

+0

可以粘貼堆棧跟蹤在這裏,也其中U用來創建項目和IMG – Triode 2012-04-17 09:44:53

+0

'代碼我錯誤「你如何期待任何人猜測這是什麼錯誤?當真? – njzk2 2014-08-05 13:45:02

回答

0

這裏的問題是,我認爲:

private String[] images; 

你應該把它聲明:

private Integer[] images; 

希望這將在以下overidden幫助

0
public class LazyAdapter extends BaseAdapter{ 

private activites context; 
private ArrayList<String> title; 
private String[] images; 
private LayoutInflater inflater; 
Bitmap myBitmap; 


public LazyAdapter(activites activites,String[] img ,ArrayList<String> items) { 
    super(); 

    this.context = activites; 
    this.title = items; 
    this.images = img; 

} 

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

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

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

public static class ViewHolder 
{ 
    ImageView imgViewLogo; 
    TextView txtViewTitle; 

} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 
try { 
         url = new URL(images[position]); 
         connection = (HttpURLConnection) url 
            .openConnection(); 

         connection.setDoInput(true); 


          connection.connect(); 
          connection.setReadTimeout(120000); 
          InputStream  input = connection.getInputStream(); 
          myBitmap = BitmapFactory.decodeStream(input); 

          } catch (IOException e) { 
         e.printStackTrace(); 
         return null; 
        } 
    ViewHolder holder; 
    if(convertView==null) 
    { 
     holder = new ViewHolder(); 
     convertView = inflater.inflate(R.layout.activity_listitem, null); 

     holder.imgViewLogo = (ImageView) convertView.findViewById(R.id.activity_list_logo); 
     holder.txtViewTitle = (TextView) convertView.findViewById(R.id.activity_list_title); 

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

    holder.imgViewLogo.setImageBitmap(myBitmap); 
    holder.txtViewTitle.setText(title.get(position)); 


    return convertView; 
} 

} 
+0

我得到您的給定解決方案相同的錯誤。 eclipse給我警告改變setImageResource(); – 2012-04-17 11:26:35

+0

什麼錯誤給你可以發佈該錯誤。 – Himanshu 2012-04-17 11:32:50

+0

ImageView類型中的setImageResource(int)方法不適用於參數(位圖)。 – 2012-04-17 11:40:37

0

小幅盤整方法。試試這個,讓我知道

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

@Override 
public Object getItem(int position) { 
    // TODO Auto-generated method stub 
    return position; 
} 
@Override 
public long getItemId(int position) { 
    // TODO Auto-generated method stub 
    return position; 
} 
相關問題