好吧所以我创建了一个有整数的数组。该数组显示最小值和最大值的五个数字。如何在textview或edittext中显示所有五个数字?我试过了:
nameofile.setText(al.get(x).toString());
但它只显示一个?
ArrayList<Integer> al = new ArrayList<Integer>();
for (int i = minint; i <= maxint; i++)
al.add(i);
Random ran = new Random();
for (int i = 0; i < 5; i++) {
int x = al.remove(ran.nextInt(al.size()));
String myString = TextUtils.join(", ", al);
lottonumbers.setText(myString);
答案 0 :(得分:2)
ArrayList<Integer> al = new ArrayList<Integer>();
al.add(0);
al.add(1);
al.add(5);
al.add(4);
al.add(3);
java.util.Collections.sort(al);//for sorting Integer values
String listString = "";
for (int s : al)
{
listString += s + " ";
}
nameofile.setText(listString);
答案 1 :(得分:1)
您目前只打印出一个元素(索引为x
的元素)。如果您想按顺序打印它们,可以使用TextUtils.join()
加入它们。
更新:看到您的修改后,我认为有更好的方法可以解决您想要做的事情。而不是试图一次拉出一个值,并更新列表,为什么不只是改组它们,然后使用上面的方法?
更新2 :好的,我想我终于明白了你的问题。那就是一个简单的改变。
ArrayList<Integer> al = new ArrayList<Integer>();
for (int i = minint; i <= maxint; i++)
al.add(i);
Random ran = new Random();
StringBuilder text = new StringBuilder(); // Create a builder
for (int i = 0; i < 5; i++) {
int x = al.remove(ran.nextInt(al.size()));
if (i > 0)
text.append(", "); // Add a comma if we're not at the start
text.append(x);
}
lottonumbers.setText(text);
答案 2 :(得分:0)
al.get(x).toString()只会获得索引“x”处的值。如果要显示所有值,则需要将数组中的所有值组合成单个字符串,然后在该字符串上使用setText。
答案 3 :(得分:0)
您只在TextView中显示一个数组,您必须连接数字以查看其他结果,如:
for(Integer integer : al) {
nameofile.setText(nameofile.getText() + " " + al.get(x).toString());
}
然后我认为你可以在一个字符串中显示所有数字。