Hello Guys我是Android的新手。我正在开发一个应用程序,但卡在这里。我想将随机文本设置为TextView并且我成功完成了但是我在所有textview上得到相同的文本。我想如果设置为一个textview的文本不应该显示给其他意味着它不应该重复。任何帮助必须得到赞赏。我在这里发布一些代码。
int[] array_set_up_text;
Random rand_set_up_text;
rand_set_up_text = new Random();
array_set_up_text = new int[] { R.string.set_up_text1, R.string.set_up_text2, R.string.set_up_text3,
R.string.set_up_text4, R.string.set_up_text5, R.string.set_up_text6, R.string.set_up_text7,
R.string.set_up_text8,R.string.set_up_text9,R.string.set_up_text10,R.string.set_up_text11,R.string.set_up_text12};
rand_text_set_up = rand_set_up_text.nextInt(array_set_up_text.length - 1);
text1.setText(array_set_up_text[rand_text_set_up]);
text2.setText(array_set_up_text[rand_text_set_up]);
text3.setText(array_set_up_text[rand_text_set_up]);
答案 0 :(得分:1)
将您的代码更改为:
text1.setText(array_set_up_text[rand_set_up_text.nextInt(array_set_up_text.length)]);
text2.setText(array_set_up_text[rand_set_up_text.nextInt(array_set_up_text.length)]);
text3.setText(array_set_up_text[rand_set_up_text.nextInt(array_set_up_text.length)]);
答案 1 :(得分:1)
每次都需要调用nextInt()方法:
text1.setText(array_set_up_text[rand_text_set_up]);
rand_set_up_text.nextInt()
text2.setText(array_set_up_text[rand_text_set_up]);
rand_set_up_text.nextInt()
text3.setText(array_set_up_text[rand_text_set_up]);
答案 2 :(得分:0)
你的问题就在这一行
rand_text_set_up = rand_set_up_text.nextInt(array_set_up_text.length - 1);
您获得一次随机排名,然后不要更新。
最简单的解决方案是执行以下操作
rand_text_set_up = rand_set_up_text.nextInt(array_set_up_text.length - 1);
text2.setText(array_set_up_text[rand_text_set_up]);
//Get a new random position.
rand_text_set_up = rand_set_up_text.nextInt(array_set_up_text.length - 1);
text3.setText(array_set_up_text[rand_text_set_up]);
//Get a new random position.
rand_text_set_up = rand_set_up_text.nextInt(array_set_up_text.length - 1);
text3.setText(array_set_up_text[rand_text_set_up]);