Ich habe ein Glas, das an einem Punkt versucht, auf den Zugriff auf die Android-Ressource mit der ID 0x7f0b0064 zuzugreifen.Wie setze ich eine feste ID für eine Android-Ressource
Ich muss dieses Glas zu meinem Projekt hinzufügen und diese ID in eine String-Ressource meiner Wahl auflösen.
Wie kann ich eine Zeichenfolge mit einer festen ID in Kompilierzeit deklarieren?
Ich habe versucht, hinzuzufügen:
In public.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<public type="string" name="error_message" id="0x7f0b0064"/>
</resources>
In string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="error_message">An error occurred</string>
</resources>
Aber es funktioniert nicht. Wie kann ich es tun?
Edit: Das Problem ist, dass, wenn Anruf zu einer Klasse in meinem Glas. Es wird versucht, einen Toast mit einer Nachricht zu schaffen, sondern die ID des String nicht in meinen Ressourcen gefunden:
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x7f0b0064
at android.content.res.Resources.getText(Resources.java:312)
at android.widget.Toast.makeText(Toast.java:286)
at com.customservices.CheckLocationService.a(Unknown Source)
at com.customservices.CheckLocationService.onStartCommand(Unknown Source)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3010)
at android.app.ActivityThread.-wrap17(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1442)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Diese IDs werden in der Kompilierzeit generiert (in der R-Klasse), und afaik können sie jedes Mal ändern, also verlassen Sie sich nicht auf sie. Ich bin neugierig, warum du das tun musst. –
Ich brauche es, weil das kompilierte Jar versucht, eine Zeichenfolge aus den Ressourcen mit dieser ID abzurufen, ich habe nicht den Quellcode. Und ich bekomme die Ausnahme: verursacht durch: android.content.res.Resources $ NotFoundException: String resource ID # 0x7f0b0064 – Addev
posten Sie den vollen stacktrace –