数组整数Android

时间:2012-11-16 02:39:19

标签: android arrays android-edittext textview

好吧所以我创建了一个有整数的数组。该数组显示最小值和最大值的五个数字。如何在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);

4 个答案:

答案 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());
}

然后我认为你可以在一个字符串中显示所有数字。