2012-12-05 25 views
0

爲什麼以及如何,這行正在處理整個數組label.setText(items [position]);沒有任何循環條件!GridView,爲什麼以及這個「行」如何處理整個數組

這是我的,訪問array_adapter類的類。資源....

class FunnyLookingAdapter extends ArrayAdapter 
{ 
    Context ctxt; 

    FunnyLookingAdapter(Context ctxt, int resource,String[] items) 
    { 
     super(ctxt, resource, items); 
     this.ctxt=ctxt; 
    } 

    public View getView(int position, View convertView,ViewGroup parent) 
    { 
     TextView label=(TextView)convertView; 

     if (convertView==null) 
     { 
      convertView=new TextView(ctxt); 
      label=(TextView)convertView; 
     } 

     label.setText(items[position]); //------------------ this is the line ! 
     return(convertView); 
    } 
} 

和這個階段的代碼是使用以前的類。因此代碼::

GridView grd = (GridView) findViewById (R.id.gd_v); 

    grd.setAdapter(new FunnyLookingAdapter(this, 
      android.R.layout.simple_list_item_1, 
      items)); 

和字符串數組資源是:

String[] items={"lorem", "ipsum", "dolor", "sit", "amet", 
     "consectetuer", "adipiscing", "elit", "morbi", "vel", 
     "ligula", "vitae", "arcu", "aliquet", "mollis", 
     "etiam", "vel", "erat", "placerat", "ante", 
     "porttitor", "sodales", "pellentesque", "augue", "purus"}; 

回答

0

試試這個代碼:

Context ctxt; 
String[] mItems; 

FunnyLookingAdapter(Context ctxt, int resource,String[] items) 
{ 
    super(ctxt, resource, items); 
    this.ctxt=ctxt; 
    this.mItems = items; 
} 

public View getView(int position, View convertView,ViewGroup parent) 
{ 
    TextView label=(TextView)convertView; 

    if (convertView==null) 
    { 
     convertView=new TextView(ctxt); 
     label=(TextView)convertView; 
    } 

    label.setText(mItems[position]); //------------------ this is the line ! 
    return(convertView); 
} 

這樣你就可以訪問你的項目數組。在你的代碼中,字符串數組只能通過構造函數方法訪問,所以getView()函數實際上看不到它。

+0

感謝,但我想你不明白我的問題....我正在地問g,如果沒有任何循環,該代碼如何訪問數組,label.setText(mItems [position]); ----------從這一行! –

+0

看看我的答案。那傢伙很好地解釋了你的誤解! – Pavlos

相關問題