如何将整数值附加到textview名称?

时间:2013-07-29 12:01:54

标签: java android

TextView text;
for (int j = 1; j < 3; j++) 
{
  text+j = new TextView(this);
 }

预期产出:

text1 = new TextView(this);
text2 = new TextView(this);
text3 = new TextView(this);

但是我在运行此代码时遇到错误..

3 个答案:

答案 0 :(得分:6)

这在Java中无效。您无法在Java中动态命名变量。该名称已在编译时自行检查。因此, L.H.S 中的此text+j等表达式将永远不会起作用。您可以使用arrays

您可以改为定义TextView数组。喜欢:

final int SIZE = 3;
TextView[] textViews = new Text[SIZE];
for (int j = 0; j < SIZE; j++) 
{
   textViews[j] = new TextView(this);
}

初始化数组TextView[] textViews中的所有元素后,您可以使用 index textViews[0],textViews[1]....访问各个元素。请记住,数组的编号从0array.length-1,在您的情况下从02

enter image description here

答案 1 :(得分:2)

您不能像在尝试那样将整数值附加到Java中的变量名。你想要的是一系列TextView's为你的目的。你可以这样做:

int textViewCount = 3;
TextView[] textViewArray = new TextView[textViewCount];

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

希望这会有所帮助。

答案 2 :(得分:0)

在这种情况下,最好使用数组。

TextView[] tv = new Textview[3];
for(int i = 0; i < 3; i++)
    tv[i] = new Textview(this);

您发布的代码试图动态生成变量,这是无法完成的。