如何优化这个引用语句findViewById()

时间:2016-08-29 08:10:00

标签: android imageview

我有80个ImageView的活动,我必须在我的java文件中添加引用&我这样做。有没有办法简单地使用这段代码。请帮帮我。

iv[0]=(ImageView)findViewById(R.id.iv0);
iv[1]=(ImageView)findViewById(R.id.iv1);
iv[2]=(ImageView)findViewById(R.id.iv2);
iv[3]=(ImageView)findViewById(R.id.iv3);
iv[4]=(ImageView)findViewById(R.id.iv4);
iv[5]=(ImageView)findViewById(R.id.iv5);
.......
iv[79]=(ImageView)findViewById(R.id.iv79);

2 个答案:

答案 0 :(得分:3)

在这种情况下,简单的for循环是合适的:

for (int i = 0 ; i < iv.length ; ++i) {
    int resourceId = this.getResources().getIdentifier("iv" + i, "id", this.getPackageName());
    iv[i] = (ImageView) findViewById(resourceId);
}

但优化您的代码。使用RecyclerView并在适配器中显示图像。 按照你的方式你肯定会得到OutOfMemoryError

答案 1 :(得分:1)

不要这样做!因为浪费时间和性能问题。 您可以使用listView或网格视图来显示80个图像。