循环遍历众多变量

erd*_*ter 4 java android

我有48个变量(TextViews),如tv1,tv2,tv3,tv4 ...... tv48.

我想为这些变量设置一个值,使用for循环,因为我不想写下同一行48次.

像这样的东西:

for (int i=1; i<49; i++)
{
        "tv"+i.setText(i);
}
Run Code Online (Sandbox Code Playgroud)

怎么做到这一点?

Shu*_*ham 5

像这样初始化它们:

TextView[] tv = new TextView[48];
Run Code Online (Sandbox Code Playgroud)

然后你可以使用这样的for循环在其中设置文本:

for(int i=0; i<48; i++)
{
   tv[i].setText("your text");
}
Run Code Online (Sandbox Code Playgroud)

编辑:在您的XML文件中,为所有文本视图提供相同的ID.例如tv0,tv1,tv2等.初始化一个字符串数组,它将这些ID作为字符串.

String ids[] = new String[48];
for(int i=0; i<48; i++)
{
   ids[i] = "tv" + Integer.toString(i);
}
Run Code Online (Sandbox Code Playgroud)

现在,要初始化数组TextView,请执行以下操作:

for(int i=0; i<48; i++)
{
   int resID = getResources().getIdentifier(ids[i], "id", "your.package.name");
   tv[i] = (TextView) findViewById(resID);
}
Run Code Online (Sandbox Code Playgroud)