安卓:文本视图数组

6

我正在制作一个应用程序,想要从字符串数组中更改textview的文本。为此,我需要创建textview数组。如何做到这一点?有人能帮助我吗?

4个回答

27

你可以这样创建TextView:

int textViewCount = 10;

TextView[] textViewArray = new TextView[textViewCount];

for(int i = 0; i < textViewCount; i++) {
   textViewArray[i] = new TextView(this);
}

3
也许对你有用,我使用按钮数组,所以我猜想TextView也是这样工作的:
TextView[ ][ ]  _txt;   

_txt = new TextView[_dimension][_dimension]; // _dimension = 5 what you want
_txt[0][0] = (TextView) findViewById(R.id.text1);
_txt[0][1] = (TextView) findViewById(R.id.text2);

and more...


那是我的要求,所以你可以使用单个数组而不是二维数组。 - kalpana c

3
如果你需要大量的文本视图,为了避免 OutofBound 异常,请使用以下代码:
LinearLayout parent = new LinearLayout(this);
        TextView textView;
        for( i = 0; i < count; i++) {
            textView = new TextView(this);
            textView.setTag(""+i);// setting tag with index i
            parent.addView(textView);
        }
        int len=parent.getChildCount();
        int j = 0;
        int requiredPosition = 5;
        while(j<len) {
            TextView tempTextView =((TextView)parent.getChildAt(i)); 
            if( tempTextView.getTag().equals(""+requiredPosition)){
                //Perform required operation
                //tempTextView.setText("");
            }
            j++;
        }

1
你可以用类似这样的代码来实现:

您可以这样做:

int textvwCount = 20;//number of textview you want to use in an array

TextView[] arrTxtView = new TextView[textvwCount ]; // declare and assign array length of text views.

for(int i = 0; i < textViewCount; i++) { // iterate over all array items and assign them text.
  Textview txtCnt = new TextView(this);
txtCnt .settext(i);
 textViewArray[i] =txtCnt ;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接