SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Ändert sich die Ressourcen-ID bei jedem Start einer Anwendung

Ein Ansatz wäre das Speichern der Drawables in strings.xml als String-Array etwa wie folgt:

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

Lesen Sie dann dieses Array in Ihrem Aktivitätscode:

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

Wenn Sie dann die for-Schleife anwenden, können Sie das Drawable in etwa so erhalten:

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

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

Achten Sie darauf, das TypedArray nach der Verwendung zu recyceln, da es sich um eine gemeinsam genutzte Ressource handelt:

 locationFlags.recycle();