讓IDS

2012-05-11 57 views
0

我的TextView類是讓IDS

static class ViewHolder { 
     protected TextView tv0; 
     protected TextView tv1; 
     protected TextView tv2; 
     protected TextView tv3; 
     protected TextView tv4; 
     protected TextView tv5; 
     protected TextView tv6; 
     protected TextView tv7; 
    } 

linearview.setTag(viewHolder); 
linearView.setId(xyz); 

// viewHolder.tv5 ID將XYZ + 5

現在,我可以得到了全班同學view.getTag 。我想要的是,假設我有一個單詞「測試」

我的隨機函數選擇2,所以我想要tv2 = T,tv3 = E等等。我可以使用str.getCharAt來獲取char,但是如何從隨機單詞中獲取textViews。

問候

+0

你嘗試把TextViews一個數組? – slybloty

+0

ehm不,我還沒有到目前爲止。我已經做了一個類,你知道 –

+0

@slybloty我已經爲7個textViews做了layout.xml,一次又一次地調用它,並將其添加到我的線性佈局中。 \t View view = null; \t \t LayoutInflater inflator = this.getLayoutInflater(); \t \t view = inflator.inflate(R.layout.words,null); \t \t final ViewHolder viewHolder = new ViewHolder(); –

回答

1

如果我理解這個權利....

在類可以簡單的寫:

TextView[] views = new TextView[]{tv0,tv1,tv2,tv3,etc.}; 

,然後寫一個getter:

public TextView[] views(){ return views; } 

或者,不要讓它們受到保護,而是讓它們公開。 (僅當直接,而無需其他任何改變改變它們的值是確定)

0

你的這個:

static class ViewHolder { 
     private ArrayList<TextView> tv = new ArrayList<TextView>(); 

     public void addTV(TextView newTV) 
     { 
      tv.add(newTV); 
     } 

     public TextView getTVat(int i) 
     { 
      return tv.get(i); 
     } 

}