2012-08-27 9 views
7

Necesito seleccionar al azar una cadena definida dentro del archivo strings.xml en android.Seleccione al azar una cadena de strings.xml en Android

Por ejemplo, mi strings.xml es:

<resources> 
    <string name="str1">Content comes here1</string> 
    <string name="str2">Content comes here2</string> 
    <string name="str3">Content comes here3</string> 
</resources> 

¿Puedo seleccionar aleatoriamente una de estas cadenas en mi actividad?

Respuesta

0

Lo más probable es que sea una serie de cadenas (y entonces es más fácil seleccionar al azar una de la matriz). De lo contrario, puede colocar los identificadores de sus cadenas en una matriz y seleccionar aleatoriamente uno de los elementos en la matriz.

7
  1. Crear una matriz contiene todos los nombres de recursos que desea seleccionar:

    String[] strs = new String[] {"str1", "str2", "str3"};

  2. Obtener un índice de azar:

    int randomIndex = new Random().nextInt(3);

  3. Obtenga su cadena aleatoria del recurso:

    int resId = getResources().getIdentifier(strs[randomIndex ], "string", your_package_name);

    String randomString = getString(resId);

+2

Dado que las cadenas son recursos, puede hacer ** int [] strs = {R.string.str1, R.string.str2, R.string.str3}; ** y luego en el paso 3 do ** int resId = strs [randomIndex]; ** –

6

La mejor manera es declaras de Cuerdas como una matriz, a continuación, obtener de esta manera:

String[] arrayOfStrings = context.getResources().getStringArray(R.array.your_string_array); 
String randomString = arrayOfStrings[new Random().nextInt(arrayOfStrings.length)]; 

entonces usted puede utilizar a su gusto.

Cuestiones relacionadas