Hi Ich schreibe eine kleine Android-App, die eng mit Telefon-Etiketten arbeitet, aber ich verstehe nicht, wie ich die Uri-Werte übersetzen soll, die in Dokumentation .
Was ich tun möchte, ist TYPE_HOME
To Home
zu übersetzen und so weiter. Meine derzeitige Lösung ist es, eine Liste aller übersetzten Strings zu haben, aber es hat sich eine Menge Probleme mit Schmach ergeben. Aber ich möchte es wie das Adressbuch tun und andere Apps dosiert es.
Sehen Sie sich den Quellcode für ContactsListActivity
an Offensichtlich haben die Android-Entwickler Werte wie Phone.TYPE_MOBILE
nur den Werten zugeordnet, die sie in strings.xml für diese Anwendung definiert haben. Dies deutet darauf hin, dass es kein universelles Systemlabel zum einfachen Suchen gibt (z. B. @android:drawable
) Verwenden Sie Systemgrafiken, was nicht empfohlen wird, da sich die Bilder zwischen den Plattformen ändern.)
Soweit ich weiß, gibt es keine Ressourcen für Labels. Sie können nur alle Zeichenfolgen als Ressourcen in Ihrer eigenen App verwenden und Standardtypen in diese Zeichenfolgen konvertieren.
UPDATE : Es gibt viele Lösungen, um den Etikettentyp in einen String zu konvertieren. Zum Beispiel können Sie string-array
resource:
Dann sollten Sie diese Zeichenfolge für alle Sprachen definieren, die Sie unterstützen. Nach dem Laden dieses Arrays mit getResources().getTextArray(R.array.labels)
können Sie den Label-Code in eine Zeichenfolge konvertieren. Außerdem müssen Sie mit benutzerdefinierten Labels umgehen.
Das ist eine mögliche Lösung, aber tatsächlich hängt alles von der Architektur Ihrer App ab.
Tags und Links android uri addressbook