Android 如何在视图类中创建范围为1到100的数字数组

Android 如何在视图类中创建范围为1到100的数字数组,android,arrays,canvas,random,drawtext,Android,Arrays,Canvas,Random,Drawtext,各位,请帮帮我 我想在一个形状中显示一个数字数组 我所做的 1) 我在视图类中使用画布绘制形状 2) 我创建一个随机数 3) 我搜索了很多,发现应该使用Drawtext来显示文本或数字 4) 我读过Random、Drawtext等的文档 5) 我尝试过for循环,但它在canvas类之外不起作用&在canvas类内部,也将无限次地重复这个数字 我的问题 我不知道如何将该数字放入数组中&如何在视图类中用drawtext显示数组 目前,我只能显示一个随机数,但a希望显示一个随机数数组 我对安卓非常陌

各位,请帮帮我

我想在一个形状中显示一个数字数组

我所做的

1) 我在视图类中使用画布绘制形状

2) 我创建一个随机数

3) 我搜索了很多,发现应该使用Drawtext来显示文本或数字

4) 我读过Random、Drawtext等的文档

5) 我尝试过for循环,但它在canvas类之外不起作用&在canvas类内部,也将无限次地重复这个数字

我的问题

我不知道如何将该数字放入数组中&如何在视图类中用drawtext显示数组

目前,我只能显示一个随机数,但a希望显示一个随机数数组

我对安卓非常陌生&我的英语不太好。 如果有人能帮我度过难关,我将不胜感激

多谢各位

以下是我用于创建单个随机数的代码部分(这在类、构造函数和onDraw方法之外):

&在显示此数字的onDraw方法中,我使用了以下代码:

@Override
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);
canvas.drawText(mystring,130,480,black_paintbrushstroke);
}

请尝试使用
ArrayList
保存随机数据,如:

ArrayList<Integer> arrayList = new ArrayList<>(100); 
Random r = new Random(System.currentTimeMillis());
for(int i = 0; i < 100; i++) {
    arrayList.add(r.nextInt());
}
ArrayList ArrayList=新的ArrayList(100);
Random r=新的Random(System.currentTimeMillis());
对于(int i=0;i<100;i++){
add(r.nextInt());
}
然后:

@覆盖
公共空白onDraw(画布){
super.onDraw(帆布);
int-yOffset=10;
int yStartPosition=480;
对于(int i=0;i
看起来您正在将所有项目绘制到同一位置(x,y),您需要添加一些垂直偏移以在前一个位置下方绘制新值

如果要将所有数字绘制为逗号分隔的字符串,则需要使用StringBuilder将数组转换为字符串:

StringBuilder sb = new StringBuilder();
for(int i = 0; i < arrayList.size(); i++) {
    sb.append(arrayList.get(i)).append(",");
}

String myRandomNumbersArray = sb.toString();
sb.setLength(0);
StringBuilder sb=新建StringBuilder();
对于(int i=0;i
谢谢,非常感谢。这真的很有帮助^__^
@Override
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    int yOffset = 10;
    int yStartPosition = 480;
    for (int i = 0; i < arrayList.size(); i++) {
        Integer integer = arrayList.get(i);
        canvas.drawText(String.valueOf(integer), 130, yStartPosition+(i*yOffset), black_paintbrushstroke);
    }
}
StringBuilder sb = new StringBuilder();
for(int i = 0; i < arrayList.size(); i++) {
    sb.append(arrayList.get(i)).append(",");
}

String myRandomNumbersArray = sb.toString();
sb.setLength(0);