SQLite
 sql >> Database >  >> RDS >> SQLite

L'ID risorsa cambia ogni volta che si avvia un'applicazione

Un approccio potrebbe essere la memorizzazione dei drawable in strings.xml come un array di stringhe simile a questo:

 <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>

Quindi leggi questo array nel tuo codice attività:

TypedArray locationFlags=getResources().obtainTypedArray(R.array.location_flags);

Quindi applicando il ciclo for puoi ottenere il Drawable qualcosa del genere:

for(int i=0i<locationFlags.length();i++)
 {

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

Assicurati di riciclare TypedArray dopo averlo utilizzato, poiché è una risorsa condivisa:

 locationFlags.recycle();