Agregue cadenas de recursos a Secuencia de caracteres

Tengo el siguiente problema:

He creado una secuencia de Char y fue capaz de nombrar 4 unidades. Sin embargo preferiría utilizar las cadenas de mi archivo XML para propósitos de localización. ¿Hay alguna forma de lograrlo?

final CharSequence[] choices = //want to add strings here ie R.strings.lemonade {"Coke", "Pepsi" , "Sprite" , "Seven Up" }; builderType.setSingleChoiceItems( choices, selected, new OnClickListener() {....... 

Mensaje de error:

Tipo no coincidente: no se puede convertir de int a CharSequence

Hay otra sobrecarga de AlertDialog.Builder.setSingleChoiceItems() que tiene en un ID de recurso int para una matriz de cadena de elementos. Ponga lo siguiente en un xml en res/values por ejemplo strings.xml :

 <string-array name="choices"> <item>Coke</item> <item>Pepsi</item> <item>Sprite</item> <item>Seven Up</item> </string-array> 

Entonces usted puede utilizarlo como:

 builderType.setSingleChoiceItems(R.array.choices, selected, new OnClickListener(), ... 

Para casos genéricos, también puede cargar recursos de matriz de cadena con Resources.getStringArray() como se sugiere por @Egor.

Cree una string-array de cadenas en strings.xml

 <string-array name="choices"> <item>Coke</item> <item>Pepsi</item> <item>Sprite</item> <item>Seven Up</item> </string-array> 

Luego recójalo de los recursos

 String[] choices = context.getResources().getStringArray(R.array.choices); 

A continuación, utilizarlo en setSingleChoiceItems() como es, ya que String implementa CharSequence .

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.