2016-08-29 2 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

Dont do that! из-за потери времени и проблем с производительностью. вы можете использовать listView или сетку, чтобы показать 80 изображений.

Смежные вопросы