2013-04-02 54 views
0
public static class ViewHolder{ 
     public TextView item1; 
     public TextView item2; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     View v = convertView; 
     ViewHolder holder; 
     if (v == null) { 
      LayoutInflater vi = 
       (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      v = vi.inflate(R.layout.document_item_row, null); 
      holder = new ViewHolder(); 
      holder.item1 = (TextView) v.findViewById(R.id.big); 
      holder.item2 = (TextView) v.findViewById(R.id.small); 
      v.setTag(holder); 
     } 
     else 
      holder=(ViewHolder)v.getTag(); 

     final DocumentResponse custom = entries.get(position); 
     if (custom != null) { 
      holder.item1.setText(custom.getCreateByFullName()); 
      holder.item2.setText(custom.getTitle()); 
     } 
     return v; 
    } 
  1. 任何人都可以解釋我的overridded方法的參數。 [getView(int position, View convertView, ViewGroup parent)]。我需要知道每個參數做什麼?夫婦對自定義適配器類問題

  2. 我有一個靜態類ViewHolder持有我的視圖組件,那麼爲什麼我創建一個nerw實例holder

+0

http://stackoverflow.com/a/3864111/1168654 –

回答

0

對於getView方法:

  • 位置在列表中的索引,你會用它來從數據源
  • convertView當前對象是一個視圖...這是getView方法爲另一個位置返回的視圖,因此您不必爲每行填充視圖,您可以重複使用一個視圖。
  • 家長可能是容器,但我從來沒有使用它。