SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

O ID do recurso muda toda vez que um aplicativo é iniciado


Uma abordagem seria armazenar os drawables em strings.xml como um array de strings algo assim:
 <string-array name="location_flags">
    <item>@drawable/ic_image_name</item>
    <item>@drawable/ic_image_name</item>
    <item>@drawable/ic_image_name</item>
    <item>@drawable/ic_image_name</item>
    <item>@drawable/ic_image_name</item>
    <item>@drawable/ic_image_name</item>
    <item>@drawable/ic_image_name</item>
</string-array>

Em seguida, lendo esta matriz em seu código de atividade:
TypedArray locationFlags=getResources().obtainTypedArray(R.array.location_flags);

Em seguida, aplicando o loop for, você pode obter o Drawable algo assim:
for(int i=0i<locationFlags.length();i++)
 {

   Drawable drawable = locationFlags.getResourceId(i, -1);
 }

Certifique-se de reciclar o TypedArray depois de usá-lo, pois é um recurso compartilhado:
 locationFlags.recycle();