Wie bekomme ich eine Ressourcen-ID mit einem bekannten Ressourcennamen?
Ich möchte auf eine Ressource zugreifen, wie ein String oder ein Drawable mit seinem Namen und nicht die int-id.
Welche Methode sollte ich verwenden für das?
InformationsquelleAutor der Frage Aswan | 2010-08-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es wird so etwas wie:
R.drawable.resourcename
Stellen Sie sicher, dass Sie nicht die
Android.R
Namensraum importiert, da es verwirren kann Eclipse (wenn es das ist, was Sie verwenden).Wenn das nicht funktioniert, Sie können immer mit einem Kontext
getResources
Methode ...Wo
this.context
ist intialised alsActivity
Service
oder andereContext
Unterklasse.Update:
Wenn es den Namen, den Sie möchten, die
Resources
Klasse (zurückgegeben vongetResources()
) hat einegetResourceName(int)
Methode, und einegetResourceTypeName(int)
?Update 2:
Den
Resources
Klasse hat diese Methode:Liefert die ganze Zahl, die angegebene Ressource-name, Art & Paket.
InformationsquelleAutor der Antwort Rabid
Wenn ich das richtig verstanden, das ist, was Sie wollen
Wo "das" ist eine Aktivität, geschrieben nur um zu klären.
In Fall, dass Sie ein String im strings.xml oder ein Bezeichner, der ein UI-element, ersetzen Sie das "drawable"
Ich warne Sie, diese Art der Beschaffung von Bezeichnern ist wirklich langsam, verwenden Sie nur, wo nötig.
Link zur offiziellen Dokumentation: Ressourcen.getIdentifier(String name, String defType, String defPackage)
InformationsquelleAutor der Antwort Maragues
InformationsquelleAutor der Antwort user1393422
Einen einfachen Weg, um zu bekommen, resource ID string. Hier resourceName ist der name der Ressource, die Bildansicht in den drawable-Ordner, die enthalten ist in der XML-Datei als gut.
InformationsquelleAutor der Antwort Muhammad Adil
Ich würde vorschlagen, Sie mit meiner Methode eine Ressource-ID. Es ist Viel effektiver, als die Verwendung getIdentidier () - Methode, die ist langsam.
Hier der code:
InformationsquelleAutor der Antwort Lonkly
Habe ich gefunden diese Klasse sehr hilfreich zum Umgang mit Ressourcen. Es hat einige definierte Methoden im Umgang mit der Maße, Farben, drawables und Saiten, wie diese:
InformationsquelleAutor der Antwort Diego Malone
zusätzlich zu @lonkly Lösung
Methode:
InformationsquelleAutor der Antwort ceph3us