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
.