2016-08-29 27 views
0

我有一个80 ImageView的活动,我必须在我的java文件中添加引用&我这样做。有没有什么方法可以简化这段代码。请帮帮我。如何优化这个引用语句findViewById()

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

为什么您的活动有80图像浏览? –

回答

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

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