2012-11-16 32 views
0

好吧,所以我创建一个具有整数的数组。该数组显示来自最小和最大的五个数字。我如何在textview或edittext中显示所有五个数字?我试过了:数组整数Android

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

只显示一个元素,因为这是所有你正在访问。 –

回答

0

al.get(X)的ToString()只会在索引 “X” 的值。如果要显示所有值,则需要将数组中的所有值合并为一个字符串,然后在该字符串上使用setText。

+0

所以这样的事情。 String num =(“”+ x); 然后使用我使用的方法? – marcusmofo

+0

表示您有3个数字的数组,例如al = [1,2,3]。如果你调用al.get(0),它会返回数组中的第一个数字 - 1. so String num =(“”+ x);将不会产生你正在寻找的结果。你需要做的是上面的例子:String num = al.get(0)+“”+ al.get(1)+“”+ al.get(2)...等等。 for循环适用于此目的。例如 String num =“”; for(int x = 0; x

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); 
+0

但我把它放在数字是随机的地方?这是x。对不起,新的android和编码 – marcusmofo

+0

我不知道'x'是什么,它是在你的代码中定义的。您目前使用'.get(x)'显示'x'th项目。以上将显示数组中的所有元素。 – Eric

+0

检查我的主要帖子我更新了谢谢你的帮助。 – marcusmofo

0

你只显示到Concat的数字来查看其他结果,例如在TextView中,您必须在阵列中的一个号码:

for(Integer integer : al) { 
    nameofile.setText(nameofile.getText() + " " + al.get(x).toString()); 
} 

那么我认为你可以显示一个所有数串。

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);