Android 如何随机更改字符串数组的值?

Android 如何随机更改字符串数组的值?,android,arrays,random,Android,Arrays,Random,我已经用一些名称创建了一个字符串数组,现在我想更改值的顺序,然后使用for循环。我唯一的问题是我不知道如何更改数组值的顺序。这是我的密码: 这是阵列: text是我的textview,people是我的数组,有4个值。我试过这个: 但它只打印其中一个值四次。像这样: Kimkim你可以试试这个方法 public static String getRandom(String[] people) { int rnd = new Random().nextInt(people.length);

我已经用一些名称创建了一个字符串数组,现在我想更改值的顺序,然后使用for循环。我唯一的问题是我不知道如何更改数组值的顺序。这是我的密码:

这是阵列: text是我的textview,people是我的数组,有4个值。我试过这个: 但它只打印其中一个值四次。像这样:


Kimkim

你可以试试这个方法

public static String getRandom(String[] people) {
   int rnd = new Random().nextInt(people.length);
   return people[rnd];
}
您可以使用Collections.shufflepeople;从arraylist中获取经过洗牌的名称。一行代码就可以完成你想要的任务

textView.setText(TextUtil.join(",", Collections.shuffle(people));

试试这个。这就是我在音乐播放器应用程序中播放歌曲的方式

for (i=0; i< people.size(); i++) {
shuffleText(people.size())
}
private void shuffleText(int size) {
      int randomNumber = new Random().nextInt((size) + 1) + 1;
      text.append(people.get(randomNumber));
  }
这是因为rando除了在循环外得到的值外,从未得到其他值。即使它被设置在循环中,你也很可能会得到一些重复的值。最终,他们都是。
textView.setText(TextUtil.join(",", Collections.shuffle(people));
for (i=0; i< people.size(); i++) {
shuffleText(people.size())
}
private void shuffleText(int size) {
      int randomNumber = new Random().nextInt((size) + 1) + 1;
      text.append(people.get(randomNumber));
  }