2012-08-07 2 views
2

Je dois remplir mon Spinner avec des fuseaux horaires EXACTEMENT comme il a rempli les paramètres -> date & heure -> sélectionnez le fuseau horaire menu. Si j'utilise justeListe des fuseaux horaires. Comment l'obtenir pour un appareil particulier?

TimeZone.getAvailableIDs(); 

Je reçois complitly vue différente. C'est à dire. dans le menu des paramètres, il ressemble à:

Midway Island 
Hawaii 
Alaska 
... 

dans mon spinner je reçois

Africa/Abidjan 
Africa/Accra 
Africa/Addis_Ababa 
.... 

Répondre

2

Dans Android, l'application des paramètres se traduit par des ids à des noms communs. vous pouvez trouver le xml qui est utilisé pour la traduction est ici

http://grepcode.com/file/repository.grepcode.com $ java $ ext @ com.google.android $ android-apps @ 4.0.4_r1.2 @ packages $ apps $ Paramètres $ res $ xml $ timezones. xml

. Donc, vous devrez également le traduire par des noms communs par programme

0

Une fois que vous avez les ID, vous devez utiliser TimeZone.getTimeZone(id).getDisplayName() afin de voir les noms dans le format utilisé dans les paramètres Android. Sachez cependant que certains identifiants aboutissent au même nom d'affichage. Vous devez donc filtrer les éléments ayant le même nom d'affichage.

Questions connexes