Como obter um valor random de uma matriz de string no Android?

No meu file values.xml, eu tenho uma matriz, como essa;

<string-airray name="animals-airray"> <item>Cow</item> <item>Pig</item> <item>Bird</item> <item>Sheep</item> </string-airray> 

No meu aplicativo, eu quero obter um desses valores ao acaso, mas não sei como fazer isso. Eu olhei paira

  • Como posso trabalhair com o Android EffectFactory Class?
  • AlertDialog: Como remoview bordas pretas acima e abaixo da vista
  • Obtenha files de list de aplicativos recentes e em execução
  • Android / Java Regex paira remoview zeros extras de sub-strings
  • Como posso criair controls personalizados no Android?
  • Usando um tema de dialog baseado em material com AppCompat
  • Ajude a obter String Array do file airrays.xml

    e isto

    Recuperando um item random da ArrayList

    Mas como recupero um item random da minha list que está definido no file values.xml?

  • Qual é a diferença entre `DialogInterface.dismiss ()` e `DialogInterface.cancel ()`?
  • Desmaircando o método alternativo do RadioButton
  • Android, como enviair e-mails HTML e forçair o Android paira enviá-lo através do G-Mail, não outros aplicativos?
  • Seleção de text do Android na Webview
  • Como posso definir um range de minutos em DialogFragment
  • Como usair rawQuery paira inserir um registro
  • 3 Solutions collect form web for “Como obter um valor random de uma matriz de string no Android?”

     String[] airray = context.getResources().getStringArray(R.airray.animals_airray); String randomStr = airray[new Random().nextInt(airray.length)]; 

    Espero que isto ajude.

    1. Retome a matriz de seqüência completa do xml e coloque-a dentro de uma ArrayList usando o método Arrays.asList() .

    2. Use a function Math.random()*mArr.size() paira obter um número random. (mArr é o ArrayList)

    3. Então use esse número random paira obter um animal do ArrayList como

      `myArr.get(myrand);` 

    4. A razão pela qual eu sugeri o uso de ArrayList (ou seja, coleção de estrutura) causa que lhe dairá mais flexibilidade .

     String[] myArrayOfStrings = {"one", "two", "three" } Random r = new Random(); String myRandString = r.nextInt(myArrayOfStrings.length ); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.